Commit Graph

349 Commits

Author SHA1 Message Date
Miroslav Bajtoš edd464aca5 Expose path to the built-in favicon file
The path is available via `loopback.faviconFile`.
2014-11-03 10:00:24 +01:00
Miroslav Bajtoš ead9d706e6 Add test for `remoting.rest.supportedTypes` 2014-10-31 10:39:13 +01:00
Miroslav Bajtoš 292c7ad497 Revert "rest handler options" 2014-10-31 10:06:57 +01:00
Guilherme Cirne ba6bf3f41b REST handler options. 2014-10-30 16:58:30 -02:00
Raymond Feng 67f8b37562 The elapsed time in milliseconds can be 0 (less than 1 ms) 2014-10-27 15:22:17 -07:00
Miroslav Bajtoš fec8234c4c Merge pull request #616 from jpizarrom/master
added email custom headers in user verify
2014-10-24 19:51:10 +02:00
Juan Pizarro 4098bec2c6 User: custom email headers in verify 2014-10-24 14:42:49 -03:00
Raymond Feng b98ada282f Merge pull request #660 from strongloop/feature/add-realm-support
Add realm support
2014-10-24 08:27:28 -07:00
Raymond Feng 46d1430023 Add realm support 2014-10-23 11:10:39 -07:00
Raymond Feng 94033312e6 Merge pull request #681 from strongloop/feature/fix-issue-679
Make sure GET /:id/exists returns 200 {exists: true|false}
2014-10-23 07:40:52 -07:00
Miroslav Bajtoš b57cd3e409 User: fix `confirm` permissions
Enable authentication for all User unit-tests to check that the ACLs are
correctly configured.

Fix the rule for `confirm` - the correct permission is `ALLOW`, not
`ACL.ALLOW`.
2014-10-23 13:19:43 +02:00
Raymond Feng e0ed755ed3 Make sure GET /:id/exists returns 200 {exists: true|false}
https://github.com/strongloop/loopback/issues/679
2014-10-22 14:39:39 -07:00
Fabien Franzen 568c8662b4 Support per-model and per-handler remoting options
Allow the developer to pass custom `remoting` options via Model
settings, e.g.

    PersistedModel.extend(
      'MyModel',
      { name: String },
      {
        remoting: { normalizeHttpPath: true }
      });

Also add `options` arg to `app.handler`, this object is passed directly
to strong-remoting handler.
2014-10-22 09:54:15 +02:00
Miroslav Bajtoš 80020eb273 lib/application: improve URL building algo
When running on Unix and no hostname is specified, use `0.0.0.0`
as the hostname instead of `localhost`.

When running on Windows and the hostname is either not specified or
it is `0.0.0.0` or `::`, use `localhost` in the URL. The reason is
that Windows cannot open URLs using `0.0.0.0` as a hostname.
2014-10-20 13:47:24 +02:00
Miroslav Bajtoš 01d17e636a test: run more tests in the browser
Add two more test files to `test/karma.conf.js`:

 - test/loopback.test.js
 - test/model.application.test.js
2014-10-14 08:58:17 +02:00
Miroslav Bajtoš b1e0edb22b test: verify exported models 2014-10-14 08:58:17 +02:00
Miroslav Bajtoš b8e877c5e5 test: remove infinite timeout
The infinite timeout was useful when debugging, which is not a good
reason for keeping it around when not debugging.
2014-10-14 08:58:17 +02:00
Miroslav Bajtoš df9fe90d35 Auto-load and register built-in `Checkpoint` model 2014-10-14 08:58:16 +02:00
Raymond Feng 242b44ed2b Skip static ACL entries that don't match the property 2014-10-13 16:45:36 -07:00
Miroslav Bajtoš 1fe0110849 Dismantle `lib/models`.
- Move core models `Model` and `PersistedModel` to `lib/`.
 - Move `AccessContext` class to `lib/`, since it is not a model.
 - Move all other built-in models to `common/models`.

This is a preparation for extracting model definitions to JSON files.
By splitting the change into multiple commits, git is able to keep track
of file moves (renames).
2014-10-13 12:09:27 +02:00
Miroslav Bajtoš 846a0b0074 models/change: fix `id` property definition
Remove the flag `generated:true`, as it does not work together with
a custom `setter.id` function.
2014-10-10 19:10:42 +02:00
Miroslav Bajtoš aac230679f Merge pull request #555 from strongloop/feature/include-remote-method-aliases
PersistedModel: add remote method aliases
2014-09-12 11:42:20 +02:00
Raymond Feng 28754519d4 Merge pull request #522 from clarkorz/feature/link-with-data
Support data field as body for link operation
2014-09-11 16:59:27 -07:00
Raymond Feng 1e41064a87 Merge pull request #529 from Coobaha/fix/user_include
user#login include server crash fix
2014-09-11 16:57:58 -07:00
Miroslav Bajtoš 06b65ccf7e PersistedModel: add remote method aliases
Ensure all loopback 1.x method names are available in loopback 2.x too.
2014-09-10 17:35:02 +01:00
Fabien Franzen 033e771528 Fix require 2014-09-06 10:55:16 +02:00
Ritchie Martori 6a604de157 Merge pull request #510 from strongloop/fix/remoting-type-conversion
Fix coercion for remoting on vanilla models
2014-09-03 11:55:04 -07:00
Ritchie Martori 58e36514d6 Fix coercion for remoting on vanilla models 2014-09-03 11:33:20 -07:00
Raymond Feng 43dbfa288e Merge pull request #469 from britztopher/mailconnector-transports-issue460
Mailconnector transports issue460
2014-09-03 08:50:03 -07:00
Alexander Ryzhikov 58538f02b7 user#login include server crash fix
Signed-off-by: Alexander Ryzhikov <coobaha@gmail.com>
2014-09-03 09:58:49 +04:00
Clark Wang 2452dd1092 Add tests for hasManyThrough link with data
Signed-off-by: Clark Wang <clark.wangs@gmail.com>
2014-09-01 09:28:13 +08:00
Fabien Franzen 1067c94bf6 Tiny fix: correct url format 2014-08-30 17:00:36 +02:00
Fabien Franzen 33f3ba4549 Fix embedsMany/findById to return proper 404 response 2014-08-30 16:54:14 +02:00
Raymond Feng 9b97014b52 Merge pull request #504 from fabien/feature/embeds-one-remoting
Enable remoting for embedsOne relation
2014-08-29 09:30:49 -07:00
Raymond Feng e856f81d09 Merge pull request #503 from fabien/feature/scope-where
Allow 'where' argument for scoped count API
2014-08-29 09:30:38 -07:00
Miroslav Bajtoš 26b67ba757 registry: warn when dataSource is not specified
Modify `registry.configureModel()` to log a warning when `dataSource`
optiont is not specified at all.

Users should provide `dataSource: null` when the model is intentionally
not attached to any data-source.
2014-08-26 18:04:06 +02:00
Ritchie Martori 7dde6466e5 Only validate dataSource when defined (Fixes #482) 2014-08-26 17:49:15 +02:00
Fabien Franzen 6cfd1bb523 Fix tests 2014-08-26 15:25:45 +02:00
Jaka Hudoklin 19155242c1 Enable remoting for embedsOne relation
Signed-off-by: Jaka Hudoklin <jakahudoklin@gmail.com>
2014-08-26 15:25:45 +02:00
Fabien Franzen fc0c96bdc2 Allow 'where' argument for scoped count API
Note that the return value will be non-rooted, which is actually what
the
non-scoped /count method returns as well - fixes inconsistency.
2014-08-26 14:41:36 +02:00
britztopher ba48d042b8 added test and fixed changing passed in object within ctor 2014-08-14 15:44:36 -04:00
Raymond Feng 1c61cedee7 Make sure scoped methods are remoted
See https://github.com/strongloop/loopback/issues/454. It's regression in 2.x.
2014-08-08 15:55:47 -07:00
Raymond Feng 9fb0977433 Pass in remotingContext for ACL
See https://github.com/strongloop/loopback/issues/451
2014-08-07 22:19:27 -07:00
Raymond Feng a9e77e0e23 Merge pull request #435 from fabien/feature/deep-remoting
Implement Model.nestRemoting
2014-08-07 10:38:09 -07:00
Raymond Feng 0affc65c67 Merge pull request #427 from fabien/feature/relation-paths
Allow custom relation path (http) - enable hasOne remoting access
2014-08-07 10:32:13 -07:00
Fabien Franzen 539702ab3d Inherit hooks when nesting
Note that for now, the hook ctx.instance will be the root/entry object.

Added `mounted` event - should be useful in other ways too.
2014-08-05 12:14:39 +02:00
Fabien Franzen 18c647a9bb Changed options.path to options.http.path 2014-08-05 09:10:43 +02:00
Fabien Franzen 42f938ed72 Fix test to be more specific 2014-08-04 18:47:15 +02:00
Fabien Franzen 9be8d11431 Implement Model.nestRemoting
Explicitly enable another level of nesting/accessing relations; limited
to a depth of 2 levels.
2014-08-04 18:27:50 +02:00
Raymond Feng b66a36fd3c Merge pull request #423 from strongloop/feature/add-remoting-for-exists
Feature/add remoting for exists
2014-08-04 08:44:16 -07:00
Fabien Franzen 66fe60e6ca Allow custom relation path (http) - enable hasOne remoting access 2014-08-01 11:25:28 +02:00
Raymond Feng ad43d03ebb Expose Model.exists over HTTP HEAD 2014-07-30 21:57:45 -07:00
Raymond Feng 0590eaf278 Merge pull request #419 from fabien/feature/new-relations
Integration of the new juggler relations: embedsMany, referencesMany
2014-07-30 16:32:33 -07:00
Fabien Franzen b9f27d71a8 Integration test: referencesMany 2014-07-30 15:01:22 +02:00
Fabien Franzen 514db0bc66 Integration test: embedsMany 2014-07-30 13:24:40 +02:00
Raymond Feng e5b0e8cd70 Map exists to HEAD for REST 2014-07-28 09:37:50 -07:00
Raymond Feng 567e2530d7 Build the email verification url from app context
https://github.com/strongloop/loopback/issues/408
2014-07-26 22:39:42 -07:00
Raymond Feng 5bb4cde593 Update test case to remove usage of deprecated express apis 2014-07-26 14:37:13 -07:00
Raymond Feng af26e09845 Emit a 'modelRemoted' event by app.model()
This event will be listened by loopback-explorer so that models remoted
after the explorer is initiated will be added to the api specs
2014-07-24 17:00:27 -07:00
Raymond Feng ac1428eff5 Fix for email transports 2014-07-23 22:09:24 -07:00
Raymond Feng 13c876c154 Merge pull request #387 from strongloop/feature/fix-base-model
Set up the base model based on the connector types
2014-07-22 10:58:33 -07:00
Raymond Feng 7337f0a0de Enhance the base model assertions 2014-07-22 10:57:42 -07:00
Raymond Feng 335bae4b46 Merge branch 'master' into feature/fix-issue-377 2014-07-22 10:49:20 -07:00
Raymond Feng 21b8609ee2 Report error for User.confirm()
See https://github.com/strongloop/loopback/issues/377
2014-07-22 10:42:22 -07:00
Raymond Feng 643293cc25 Set up the base model based on the connector types 2014-07-22 10:38:14 -07:00
Raymond Feng 74e9ff75e3 Merge pull request #385 from offlinehacker/master
Validate username uniqueness
2014-07-21 15:26:01 -07:00
Raymond Feng 0dae813d5f Merge pull request #375 from strongloop/feature/upgrade-to-nodemailer-1.x
Upgrade to nodemailer 1.0.1
2014-07-21 11:58:17 -07:00
Miroslav Bajtoš eb5ef04b6a Remove `loopback.compat.usePluralNamesForRemoting`
The `usePluralNamesForRemoting` was added in January 2014 for users
upgrading from LoopBack 1.5 or older.
2014-07-21 16:56:46 +02:00
Jaka Hudoklin 90094e5e86 Validate username uniqueness
Signed-off-by: Jaka Hudoklin <jakahudoklin@gmail.com>
2014-07-19 14:18:21 +02:00
Raymond Feng e5b64c6143 Upgrade to nodemailer 1.0.1 2014-07-16 12:40:15 -07:00
Raymond Feng 79f504a3c7 Merge branch 'master' into 2.0 2014-07-16 09:09:07 -07:00
Raymond Feng 7b36196561 Merge pull request #362 from strongloop/feature/remoting-add-remove
Add a test case for hasMany through add/remove remoting
2014-07-15 16:15:27 -07:00
Raymond Feng 54b13f4feb Upgrade to loopback-datasource-juggler@1.7.0 2014-07-15 16:15:02 -07:00
Raymond Feng c5c28aa634 Merge pull request #368 from strongloop/feature/loopback-base-model
Refactor modelBuilder to registry and set up default model
2014-07-15 08:38:43 -07:00
Raymond Feng 3c13ce5a8f Refactor modelBuilder to registry and set up default model 2014-07-15 08:37:59 -07:00
Raymond Feng 76b6dc10d9 Add a test case for credentials/challenges 2014-07-15 08:20:47 -07:00
Miroslav Bajtoš 31ef6394b4 checkpoint: fix `current()`
Fix the query in `Checkpoint.current()` to correctly specify sorting
`seq DESC`. Before this change, the first checkpoint was returned as the
current one.
2014-07-11 17:07:22 +02:00
Raymond Feng 74a39f3fc2 Refactor email verification tests into a new group 2014-07-08 08:54:50 -07:00
Raymond Feng 0c67b1e781 Add an option to honor emailVerified
See https://github.com/strongloop/loopback/pull/215
2014-07-07 14:09:45 -07:00
Raymond Feng f649c92bcf Refine the test cases for relation REST APIs 2014-07-03 11:18:34 -07:00
Miroslav Bajtoš f0cc5f7534 test: add check of Model remote methods
The test ensures that Model has all methods listed in docs:

http://docs.strongloop.com/display/LB/Exposing+models+over+a+REST+API

See also #359.
2014-07-03 08:19:41 +02:00
Raymond Feng 0525f2c896 Adjust the REST mapping for add/remove 2014-07-02 23:06:11 -07:00
Raymond Feng b221714b38 Add a test case for hasMany through add/remove remoting 2014-07-02 18:09:05 -07:00
Raymond Feng 217c9fa348 Fix the typo and add Bearer token support
See https://github.com/strongloop/loopback/issues/333
2014-07-02 09:02:13 -07:00
Miroslav Bajtoš 8ea11ea955 Merge branch 'master' into 2.0
Land the pull request #357
> app: update `url` on `listening` event
2014-07-01 16:18:00 +02:00
Miroslav Bajtoš dfa8d7f49f app: update `url` on `listening` event
Most applications report the URL when started (at least the apps we
are scaffolding using loopback-workspace). Constructing the URL in the
loopback core allows us to simplify the templates and reduce the amount
of repeated code.
2014-07-01 14:27:02 +02:00
Miroslav Bajtoš 50816ebbe3 Fix loopback in PhantomJS, fix karma tests
- Move configuration of Karma unit-tests from `Gruntfile.js` to a
  standalone file (`test/karma.conf.js`).

- Add a new Grunt task `karma:unit-ci` to run Karma unit-tests in
  PhantomJS and produce karma-xunit.xml file that can be consumed
  by the CI server.

- Add grunt-mocha-test, configure it to run unit-tests.

- Add `grunt test` task that runs both karma and mocha tests,
  detects Jenkins to produce XML output on CI server.

- Modify the `test` script in `package.json` to run
  `grunt mocha-and-karma` (an alias for `grunt test`).
  The alias is required to trick `sl-ci-run` to run `npm test`
  instead of calling directly `mocha`.

- Add `es5-shim` module to karma unit-tests in order to provide
  ES5-methods required by LoopBack.

- Fix `mixin(source)` in lib/loopback.js to work in PhantomJS.
  `Object.getOwnPropertyDescriptor()` provided by `es5-shim` does not
  work in the same way as in Node.
2014-06-26 13:30:09 +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
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 9b5d7417a2 Remove relationNameFor 2014-06-20 21:25:27 -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š 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š 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š 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š 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š 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