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š
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š
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
crandmck
ad347e517c
JSDoc fixes
2014-06-11 14:55:47 -07:00
Raymond Feng
6490447fac
Set the role id to be generated
...
See https://github.com/strongloop/loopback-connector-postgresql/issues/5
2014-06-10 16:38:37 -07:00
Miroslav Bajtoš
b576639d90
Add loopback.version back
...
Add `loopback.version` that was accidentaly removed by #308 .
2014-06-10 11:19:36 +02:00
Raymond Feng
7769174d58
Tidy up app.model() to remove duplicate & recusrive call
2014-06-09 23:53:01 -07:00
Raymond Feng
815ad53aa4
Register existing model to app.models during app.model()
2014-06-09 16:31:33 -07:00
crandmck
6af69e322a
JSDoc cleanup
2014-06-09 15:50:04 -07:00
crandmck
cea2d30928
Merge branch 'master' of github.com:strongloop/loopback
2014-06-09 15:42:07 -07:00
crandmck
1694ee2d83
JSDoc cleanup
2014-06-09 15:36:08 -07:00
Raymond Feng
854402acba
Merge pull request #314 from strongloop/feature/allow-custom-token-creation
...
Allow the creation of access token to be overriden
2014-06-09 15:01:15 -07:00
Raymond Feng
a6ff4b0cad
Use constructor to reference the model class
2014-06-09 15:00:15 -07:00
Raymond Feng
6b4ebdf609
Allow the creation of access token to be overriden
2014-06-09 14:53:55 -07:00
Miroslav Bajtoš
a90e24c013
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-09 16:25:35 +02:00
Miroslav Bajtoš
09cc57c061
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-09 16:15:56 +02:00
Miroslav Bajtoš
56aab8dbdd
Merge createModelFromConfig with createModel
...
Merge the two methods `loopback.createModel` and
`loopback.createModelFromConfig` into a single method `createModel`.
2014-06-09 11:18:52 +02:00
Miroslav Bajtoš
63843b41fc
lib/registry fix jsdoc comments
...
Add missing names.
2014-06-09 07:46:32 +02:00
crandmck
1316676946
Fixup JSDocs; note: updateOrCreate function alias pulled out on separate line for docs
2014-06-06 17:17:37 -07:00
Miroslav Bajtoš
eac231df99
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-06 11:53:23 +02:00
Miroslav Bajtoš
1b11060991
Remove assertIsModel and isDataSource
...
Use `instanceof` operator instead:
ModelCtor.prototype instanceof loopback.Model
dataSource instanceof loopback.DataSource
2014-06-06 10:30:03 +02:00
Miroslav Bajtoš
51e977de9b
lib/loopback: fix jsdoc comments
...
Use
@property {Object} [properties]
instead of
@property {Object=} properties
for optional properties.
Use `**example**` instead of `@example`, since strong-docs don't support
the latter.
2014-06-06 10:28:21 +02:00
Miroslav Bajtoš
5f1c3a86eb
Merge pull request #304 from strongloop/feature/createModelFromConfig
...
[2.0] Add createModelFromConfig and configureModel()
2014-06-06 10:27:03 +02:00
Miroslav Bajtoš
f844459311
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 with loopback 1.x,
`app.model(name, config)` calls both `createModelFromConfig`
and `configureModel`.
2014-06-05 17:47:28 +02:00
Miroslav Bajtoš
ea5b9d16fc
Rename DataModel to PersistedModel
2014-06-05 09:56:00 +02:00
crandmck
d8c6f9d962
Update JSDoc
2014-06-04 17:42:18 -07:00
Miroslav Bajtoš
26874fc715
Make app.get/app.set available in browser
...
Implement settings object and methods in browser-express.
Add test/app.test.js to unit-tests run by karma.
2014-06-03 21:32:27 +02:00
Miroslav Bajtoš
88a4bb462e
Exclude express-middleware from browser bundle
...
Fix lib/loopback to include express-middleware only on the server.
Bump up strong-remoting dependency to use the version working in
browsers.
2014-06-03 21:32:27 +02:00
Ritchie Martori
fea1cee1c4
!fixup only set ctx.accessType when sharedMethod is available
2014-06-02 14:41:08 -07:00
Ritchie Martori
a2f931ed3f
Refactor ACL to allow for `methodNames` / aliases
2014-06-02 14:41:08 -07:00
Raymond Feng
bb0ddb26ec
Rename express-wrapper to express-middleware
2014-05-29 10:18:58 -07:00
Raymond Feng
49380e490f
Upgrade to Express 4.x
2014-05-29 08:44:05 -07:00
Miroslav Bajtoš
566757ba1d
Deprecate app.boot, remove app.installMiddleware
...
The bootloader has its own project `loopback-boot` now.
2014-05-29 08:38:39 +02:00
Miroslav Bajtoš
18fd61a546
Merge branch 'master' into 2.0
2014-05-28 18:41:36 +02:00
Miroslav Bajtoš
acf7af0c4e
Merge pull request #287 from strongloop/feature/connector-registry
...
app: implement `connector()` and `connectors`
2014-05-28 17:01:24 +02:00
Miroslav Bajtoš
94ec5c294a
app: implement `connector()` and `connectors`
...
Allow browserified applications to explicitly register connectors
to use in data-sources via `app.connector(name, exportsFromRequire)`.
Include built-in connectors like `Memory` and `Remote` in the registry.
Modify `dataSourcesFromConfig()` to resolve the connector via
`app.connectors` first and only then fall back to auto-require
the connector module.
2014-05-28 15:11:43 +02:00
Miroslav Bajtoš
d0c87d3420
Merge pull request #285 from STRML/fixRestApiRootTypo
...
Fix a typo in `app.boot` caused by the change from restBasePath to restApiRoot.
2014-05-28 14:56:46 +02:00
Samuel Reed
e625028486
Fix a typo in `app.boot`.
...
This typo was caused by the change from restBasePath to restApiRoot.
Signed-off-by: Samuel Reed <sam@tixelated.com>
2014-05-28 17:25:41 +08:00
Miroslav Bajtoš
7cfe450161
Make app.datasources unique per app instance
...
This removes a source of confusion in unit-tests.
2014-05-27 14:33:42 +02:00
Miroslav Bajtoš
227c2d05cd
app: flatten model config
...
Support flat structure of model config objects, where model options
are set as top-level properties.
Before:
Customer: {
dataSource: 'db',
options: {
base: 'User'
}
}
Now:
Customer: {
dataSource: 'db',
base: 'User'
}
2014-05-27 08:10:20 +02:00
Miroslav Bajtoš
bfb154d445
Modify `loopback.rest` to include `loopback.token`
...
Make `loopback.rest` self-contained, so that authentication works
out of the box.
var app = loopback();
app.enableAuth();
app.use(loopback.rest());
Note that cookie parsing middleware is not added, users have to
explicitly configure that if they want to store access tokens
in cookies.
Modify `loopback.token` to skip token lookup when the request already
contains `accessToken` property. This is in line with other
connect-based middleware like `cookieParser` or `json`.
2014-05-21 15:22:36 +02:00
Ritchie Martori
d237ae5ddb
Merge latest from master
2014-05-20 14:31:09 -07:00
Ritchie Martori
1a8ba602cc
!fixup Mark DAO methods as delegate
...
Allow juggler to mix in these methods.
2014-05-20 13:45:47 -07:00
Ritchie Martori
77bd77e625
Ensure changes are created in sync
2014-05-20 12:46:43 -07:00
Ritchie Martori
52eb72d94f
Remove un-rectify-able changes
2014-05-20 12:14:51 -07:00
Ritchie Martori
2de33d4da5
Rework change conflict detection
2014-05-19 19:54:55 -07:00
Ritchie Martori
eec7bdd5f4
- Use the RemoteObjects class to find remote objects instead of
...
creating a cache
- Use the SharedClass class to build the remote connector
- Change default base model from Model to DataModel
- Fix DataModel errors not logging correct method names
- Use the strong-remoting 1.4 resolver API to resolve dynamic remote
methods (relation api)
- Remove use of fn object for storing remoting meta data
2014-05-19 15:56:26 -07:00
Ritchie Martori
558ea60da0
In progress: rework remoting meta-data
2014-05-16 12:32:54 -07:00
Adam Schwartz
7c00119292
Fix typo "Unkown" => "Unknown"
2014-05-15 23:32:12 -04:00
Ritchie Martori
2f21f4ec1e
Rework replication test
2014-05-15 17:30:58 -07:00
Ritchie Martori
1e2ad9fba9
Change#getModel(), Doc cleanup, Conflict event
2014-05-14 09:20:04 -07:00
Ritchie Martori
4bab42478f
Add error logging for missing data
2014-05-12 10:36:10 -07:00
haio
978bc57421
Fix bug in User#resetPassword
2014-05-10 15:43:01 +08:00
Ritchie Martori
908221416e
Fix issues when using MongoDB for replication
2014-05-09 17:19:32 -07:00
Ritchie Martori
a3a6828709
Move replication implementation to DataModel
2014-05-06 13:31:23 -07:00
Ritchie Martori
f8b5fa11ec
All tests passing
2014-05-02 21:19:14 -07:00
haio
429052a0db
Ensure roleId and principalId to be string in Role#isInRole
2014-05-03 11:43:03 +08:00
Ritchie Martori
012f880078
!fixup RemoteConnector tests
2014-05-02 20:04:06 -07:00
Ritchie Martori
918596f035
Refactor DataModel remoting
...
- Move DataModel remoting setup into setup phase
- Add a remoting type converter for DataModels
- Move model tests into re-usable test utilities
- Move other test utilities into new test utilities folder
2014-05-02 18:12:24 -07:00
Ritchie Martori
69cd6a836b
!fixup .replicate() argument handling
2014-04-29 20:40:00 -07:00
Ritchie Martori
e35309ba27
Fixes for e2e replication / remote connector tests
2014-04-29 17:17:49 -07:00
haio
eae86b64f4
typo
2014-04-29 20:10:44 +08:00
haio
f44d737e7e
Add more check on principalId
2014-04-29 09:34:48 +08:00
haio
aa63d7bf4b
Convert principalId to String
2014-04-28 21:36:44 +08:00
Raymond Feng
b57c998ce2
Merge pull request #242 from strongloop/feature/fix-issue-239
...
Rename the method so that it won't conflict with Model.checkAccess
2014-04-24 10:27:18 -07:00
crandmck
1676ac6e58
Fix constructor JSDoc
2014-04-23 15:20:18 -07:00
Raymond Feng
921e35954d
Rename the method so that it won't conflict with Model.checkAccess
...
See https://github.com/strongloop/loopback/issues/239
2014-04-21 11:13:03 -07:00
Ritchie Martori
83e74ab414
Merge
2014-04-16 07:39:13 -07:00
Ritchie Martori
b660f8a59e
Add replication e2e tests
2014-04-16 07:33:17 -07:00
Ritchie Martori
e86a00de69
Merge branch master
2014-04-15 12:53:00 -07:00
Ritchie Martori
13b18065e2
Documentation cleanup
2014-04-14 14:49:29 -07:00
Ritchie Martori
940e11125d
Fix save implementation for remoting connector
2014-04-14 14:17:56 -07:00
Ritchie Martori
7c0a470d64
Add basic Remote connector e2e test
2014-04-14 12:25:41 -07:00
Ritchie Martori
5298834c68
Merge branch 'master' into feature/remoting-connector
2014-04-14 11:01:20 -07:00
Ritchie Martori
63ad8f69ae
Add test for remoting nested hidden properties
2014-04-11 11:43:37 -07:00
Alex Pica
1c1364636d
Fix #229 (Whitespaces removed
2014-04-10 06:01:58 +03:00
Miroslav Bajtoš
e8971fde41
Merge pull request #223 from strongloop/feature/improve-sharedctor-description
...
Describe the "id" parameter of model's sharedCtor
2014-04-04 07:36:03 -07:00
crandmck
dff182ed27
Clean up JSDoc comments. Remove doc for deprecated installMiddleware function
2014-04-03 11:29:00 -07:00
Miroslav Bajtoš
4c246c7f2c
Describe the "id" parameter of model's sharedCtor
...
Extend remoting metadata to describe the "id" parameter accepted
by the sharedCtor of all models.
2014-04-03 10:39:42 +02:00
crandmck
006aca6b9c
Update and cleanup JSDoc
2014-04-02 15:46:39 -07:00
crandmck
a265d67007
Cleanup and update of jsdoc
2014-04-02 15:15:21 -07:00
Ritchie Martori
5f81fad921
Merge pull request #217 from strongloop/feature/hidden-properties
...
Feature/hidden properties
2014-03-31 12:04:49 -07:00
Ritchie Martori
51d3ff892a
Merge pull request #219 from dougtoppin/fix-verify-confirm
...
Fix verify confirm
2014-03-31 12:02:48 -07:00
Doug Toppin
8b71c3022d
Update user.js
...
Corrected spacing on confirm ACL, removed extraneous comment on using hex rather than base64
2014-03-30 08:02:19 -04:00
Ritchie Martori
a08b047fab
Add hidden property documentation
2014-03-27 15:25:37 -07:00
Ritchie Martori
4c185e5453
Support host / port in Remote connector
2014-03-27 14:47:30 -07:00
Ritchie Martori
ac2206d257
Throw useful errors in DataModel stub methods
2014-03-27 14:47:29 -07:00
Ritchie Martori
64b374907a
Move proxy creation from remote connector into base model class
2014-03-27 14:47:29 -07:00
Ritchie Martori
0632f52411
Remove reload method body
2014-03-27 14:47:29 -07:00
Ritchie Martori
dcdbef861e
Add Remote connector
2014-03-27 14:47:29 -07:00
Ritchie Martori
ef7b724375
Initial client-server example
2014-03-27 14:47:29 -07:00
Doug Toppin
e52dbe2fb5
fix to enable ACL for confirm link sent by email
2014-03-23 21:06:22 -04:00
Ritchie Martori
5b50a99eb3
Add hidden property support to models
2014-03-21 12:53:04 -07:00
Ritchie Martori
c521b3c386
Allow app.model() to accept a DataSource instance
2014-03-21 12:18:00 -07:00
Ritchie Martori
de5d0b8949
Make verifications url safe
2014-03-21 12:02:11 -07:00
Raymond Feng
aaaa28d569
Add more comments
2014-03-19 16:24:50 -07:00
Raymond Feng
328a72ac91
Improve the ACL matching algorithm
...
See https://github.com/strongloop/loopback-example-access-control/issues/8
2014-03-19 15:09:20 -07:00
Raymond Feng
32a9131004
Pause the req before checking access
...
See https://github.com/strongloop/loopback-storage-service/issues/7
2014-03-17 14:40:05 -07:00
Raymond Feng
f031e79392
Remove the generated flag as the id is set by the before hook
2014-03-17 10:01:29 -07:00
crandmck
c80b334130
Improvements to JSDoc comments
2014-03-14 10:28:31 -07:00
crandmck
9fb3f3313a
Fixes to JSDoc for API docs
2014-03-13 17:25:21 -07:00
Raymond Feng
533daf4040
Remove oauth2 models as they will be packaged in a separate module
2014-03-11 22:37:54 -07:00
Ritchie Martori
57ff242308
Minor doc fix
2014-03-10 18:05:44 -07:00
Raymond Feng
89aa3595f5
Set the correct status code for User.login
...
See https://github.com/strongloop/loopback/issues/118
2014-02-28 13:19:52 -08:00
Doug Toppin
42c9777de3
using base64 caused an occasional token string to contain '+' which resulted in a space being embedded in the token. 'hex' should always produce a url safe string for the token.
2014-02-25 22:14:32 -05:00
Doug Toppin
2f301e315a
Sending email was missing the from field
2014-02-23 21:08:13 -05:00
Ritchie Martori
4e437586ed
Merge pull request #192 from strongloop/fix/port-zero
...
Remove coercion from port check
2014-02-21 10:08:27 -08:00
Raymond Feng
37646fa008
Allows options to be passed to strong-remoting
2014-02-19 15:14:31 -08:00
Ryan Graham
088c2e2296
Merge fixup
2014-02-19 14:11:16 -08:00
Ritchie Martori
138821cf8b
Merge package.json and lib/loopback.js
2014-02-19 11:44:44 -08:00
Ritchie Martori
500703e1fb
Remove coercion from port check
2014-02-18 16:54:40 -08:00
Guilherme Cirne
b466bb96c8
The simplest possible solution for clearing the handler cache when registering a model.
2014-02-18 17:40:35 -03:00
Raymond Feng
46b579dc4a
Make sure User/AccessToken relations are set up by default
...
User.login assumes the relation User.accessTokens exists
2014-02-14 10:31:30 -08:00
Ritchie Martori
e7f64a3abf
Add karma for running browser tests
2014-02-12 10:17:02 -08:00
Aurelien Chivot
c216ba03c1
Documentation (generated) fix
2014-02-11 19:14:04 +01:00
Raymond Feng
618b563c6e
Use hex encoding for application ids/keys
...
base64 encoded ids/keys are not friendly for urls
2014-02-07 11:14:01 -08:00
Ritchie Martori
867e3ca996
fixup! Assert model exists
2014-02-05 15:32:38 -08:00
Ritchie Martori
0bf7af104d
fixup! rename Change.track => rectifyModelChanges
2014-02-05 15:27:58 -08:00
Miroslav Bajtoš
38f4748021
Add app.isAuthEnabled.
...
The flag is set by `app.enableAuth` and can be used to detect
whether the access control is enabled.
2014-02-05 18:46:22 +01:00
Miroslav Bajtoš
b13ff35697
Make app.models unique per app instance
...
Remove a source of confusion in unit-tests.
2014-02-04 20:28:19 +01:00
Raymond Feng
592f3f9278
Make sure the configured ACL submodel is used
2014-02-03 16:00:01 -08:00
Ritchie Martori
13f67385d0
Add model tests
2014-01-30 14:20:34 -08:00
Ritchie Martori
ab8d1ae109
Add replication example
2014-01-30 14:20:34 -08:00
Ritchie Martori
e3d80058dc
Add Checkpoint model and Model replication methods
2014-01-30 14:20:34 -08:00
Ritchie Martori
cc49d675ce
Add Change model
2014-01-30 14:20:33 -08:00
Miroslav Bajtoš
c36e20587e
Merge pull request #163 from strongloop/feature/include-user-in-login-result
...
Include user in login result
2014-01-30 10:24:14 -08:00
Raymond Feng
c711b99b8a
Merge pull request #154 from strongloop/feature/debug-login-error
...
Add debug information for user.login
2014-01-30 10:13:26 -08:00
Miroslav Bajtoš
d6f0b5f5a6
Add `include=user` param to `User.login`
...
Allow LB clients to get details of the currently logged-in user
as part of the login response.
Improve method's `description` to mention this new option.
2014-01-30 18:09:54 +01:00
Miroslav Bajtoš
03cb2f0556
Describe `access_token` param of `User.logout`
...
Add an explicit note that clients are not supposed to send the
`access_token` parameter, since it is extracted from request
headers.
2014-01-30 18:09:54 +01:00
Raymond Feng
57796a41cd
Remove the generated flag for access token id
...
The generated flag is used to indicate if the id is automatically generated
by the backend store. If it's set, the data type will be updated when the
model is attached to a datasource.
The AccessToken model defines a string id, which is set in the beforeCreate
hook. So it's client provided id.
2014-01-30 09:02:12 -08:00
Ritchie Martori
a0e595dce8
Add model tests
2014-01-28 14:46:16 -08:00
Ritchie Martori
2582c3fc65
Add replication example
2014-01-28 12:54:41 -08:00
Raymond Feng
938cafeb77
Remove message prefix as debug will print it
2014-01-27 14:47:48 -08:00
Raymond Feng
c35f762d4e
Add debug information for user.login
2014-01-27 14:31:38 -08:00
Miroslav Bajtoš
20766e251a
Add loopback.compat to simplify upgrade to 1.6
...
Add a compatibility layer that allows applications based on LB pre-v1.6
to work with 1.6 versions with a minimum amount of changes required.
New flag(s):
compat.usePluralNamesForRemoting
2014-01-27 10:29:57 +01:00
Miroslav Bajtoš
8bb8861ba1
Register exported models using singular names
...
Remove the inconsistency between model names used by LoopBack app and
datasource-juggler (modelName, e.g. User) and the name used by
strong-remoting (pluralModelName, e.g. Users).
This way the class name in the strong-remoting metadata can be used
by client-code generators. Before this change, the generators would
produce method names like `Users.login`.
2014-01-27 10:29:57 +01:00
Miroslav Bajtoš
54bff35fef
User: use User.http.path
...
Use the new property introduced by a recent change in
loopback-datasource-juggler instead of building the URL
manually from pluralModelName.
2014-01-27 10:29:57 +01:00
Ritchie Martori
1a13a8d95e
Add Checkpoint model and Model replication methods
2014-01-26 14:02:56 -08:00
Ritchie Martori
4be3395298
Add Change model
2014-01-26 13:20:19 -08:00
Raymond Feng
5586c54c49
Fix the Role ref to RoleMapping
2014-01-23 15:04:48 -08:00
Raymond Feng
224b500c3a
Fix the Scope reference to models
2014-01-23 14:46:02 -08:00
Raymond Feng
bb389ce209
Lookup the email model
2014-01-23 14:40:27 -08:00
Raymond Feng
bcc7e68e0e
Add lookback.getModelByType() and use it resolve model deps
2014-01-23 14:39:27 -08:00
Ritchie Martori
a43d6004c1
Fix race condition where MyEmail model was not attached to the correct dataSource in tests
2014-01-23 14:25:54 -08:00
Raymond Feng
d6a4230aed
Fix the method args
2014-01-21 16:41:48 -08:00
Raymond Feng
a5242a3b77
Fix the typo for the method name
2014-01-21 16:35:28 -08:00
Raymond Feng
8a114c635f
Prevent autoAttach from overriding existing data source
2014-01-20 14:32:47 -08:00
Raymond Feng
5a6155e08e
Clean up loopback.js doc and add it to docs.json
2014-01-17 10:40:41 -08:00
Raymond Feng
32bdce53ee
Fix the jsdoc for loopback.getModel()
2014-01-17 10:23:59 -08:00
Raymond Feng
a6ff22c9c1
Make sure defaultPermission is checked
2014-01-16 15:05:10 -08:00
Raymond Feng
7212ebe805
Remove the dangling require
2014-01-16 09:12:52 -08:00
Raymond Feng
d8647bb3c1
Make ACL model subclassing friendly
2014-01-16 08:50:50 -08:00
Miroslav Bajtoš
e6cdeb5cd4
Improve jsdox documentation of app object
...
Remove docs/api-app.md and docs/api.md, as they are no longer referenced
from docs.json.
Add few missing bits from docs/api-app.md to lib/application.js
comments.
2014-01-15 08:44:49 +01:00
Raymond Feng
c8eb5d9170
Make sure methods are called in the context of the calling class
2014-01-14 15:34:44 -08:00
Ritchie Martori
9fc8e197ee
Start to move md to jsdoc
2014-01-14 10:03:47 -08:00
Miroslav Bajtoš
8573d01c16
Replace `on` with `once` in middleware examples
...
Fix the jsdox for `app.installMiddleware` to use `app.once` for
listening on 'middleware:*' events.
The previous doc version using `on` was a sort of preliminary
pessimisation, becase the event handlers would stay in the heap
for the whole life-time of the app, even though they won't be called
more than once.
2014-01-14 08:07:47 +01:00
Miroslav Bajtoš
57813cef56
Merge pull request #133 from strongloop/feature/app-install-middleware
...
Implement app.installMiddleware
2014-01-13 21:58:11 -08:00
Ritchie Martori
9668692406
Merge pull request #136 from strongloop/fix/mail-transports
...
Fix incorrect transports
2014-01-13 20:03:25 -08:00
Ritchie Martori
92eaa383f3
Fix incorrect transports
2014-01-13 19:04:21 -08:00
Ritchie Martori
45e5641055
Merge pull request #130 from strongloop/fix/mail-transports
...
Fix/mail transports
2014-01-13 18:36:42 -08:00
Miroslav Bajtoš
ed81bdb6b8
Implement app.installMiddleware
...
The implementation is mostly a copy of
loopback-workspace/templates/app.js
2014-01-13 17:26:24 +01:00
Miroslav Bajtoš
914ac2dcc9
Implement `app.listen`
...
The method starts a http server on the host & port configured
in the app config.
2014-01-13 09:12:54 +01:00
Ritchie Martori
80b4482c31
Provide sane default for email connector transports
2014-01-10 10:45:26 -08:00
Ritchie Martori
7e1810a1ad
Add an empty transportsIndex to the mail connector by default
2014-01-10 10:18:21 -08:00
Ritchie Martori
6bb0ba2d95
Add missing assert in user model
2014-01-10 10:07:39 -08:00
Miroslav Bajtoš
92896a441c
Add app.restApiRoot setting
...
Allow loopback users to configure API root via config file, instead of
editing app.js generated by loopback-workspace.
Allow loopback plugins to discover the path where the REST adapter is
mounted.
2014-01-07 16:05:48 +01:00
Ritchie
fcc4bba82d
Add reference documentation using sdocs
2013-12-19 17:49:47 -08:00
Raymond Feng
a47317de0d
Update README for application model
2013-12-19 13:42:12 -08:00
Ritchie Martori
981bdd4c81
app.boot() now loads the "boot" directory
2013-12-18 21:41:41 -08:00
Ritchie Martori
16b790a93a
Merge pull request #102 from strongloop/fix/user
...
Various Fixes and Behavioral Changes to the User Model
2013-12-18 21:34:30 -08:00
Raymond Feng
ac2f4de9d3
Remove the default values for gateway/port
2013-12-18 12:28:48 -08:00
Raymond Feng
598b1e6b61
Reformat the code using 2 space identation
2013-12-18 11:49:09 -08:00
Raymond Feng
95ad3e8c04
Allow cert/key data to be shared by push/feedback
2013-12-18 10:58:34 -08:00
Ritchie Martori
98ed38302a
Logout now automatically pulls the accessToken from the request
2013-12-17 21:22:05 -08:00
Ritchie Martori
939df463fe
Fix tests depending on old behavior of default User ACLs
2013-12-17 21:10:05 -08:00
Ritchie Martori
3152960336
Add default user ACLs
2013-12-17 20:42:28 -08:00
Miroslav Bajtoš
d09e3225cd
Define schema for GCM push-notification settings
...
Remove unused property PushNotificationSettingSchema.platform.
Flatten GCM settings schema. There is no need to distinquish between
pushOptions and feedback, as there is only single HTTP channel shared
by both.
2013-12-17 18:44:13 +01:00
Ritchie Martori
0794f141c1
Improve debug statements for access control
2013-12-16 18:12:13 -08:00
Ritchie Martori
5a154072a1
Merge pull request #96 from strongloop/feature/config
...
Make all app config values available from `app.get()`
2013-12-12 16:01:43 -08:00
Ritchie Martori
591ed86444
Merge pull request #97 from strongloop/bug/check-access
...
Dont attempt access checking on models without a check access method
2013-12-12 16:01:33 -08:00
Ritchie Martori
4619a143f5
Dont attempt access checking on models without a check access method
2013-12-11 19:46:56 -08:00
Ritchie Martori
ea7c9216d7
App config settings are now available from app.get()
2013-12-11 19:31:16 -08:00
Ritchie Martori
b62b8fa47d
Fix user not allowed to delete itself if user
...
**Note: the only code required for the fix is in role.js:203**. The
other changes are to help organize debug output.
2013-12-11 19:15:19 -08:00
Ritchie Martori
ad58a8ec13
Only look at cookies if they are available
2013-12-11 16:43:23 -08:00
Raymond Feng
0f86f69880
Remove the empty comment and set default token
2013-12-11 16:21:37 -08:00
Raymond Feng
97dc0aa441
Refactor to the code use wrapper classes
...
Add AccessContext, Principal, and AccessRequest
Add debug information
2013-12-11 16:03:48 -08:00
Raymond Feng
178674ec9a
Enhance getRoles() to support smart roles
2013-12-11 09:06:21 -08:00
Raymond Feng
82eeaeee6b
Fix the algorithm for Role.isInRole and ACL.checkAccess
2013-12-10 23:33:57 -08:00
Ritchie Martori
4560ec0964
Various ACL fixes
2013-12-10 21:49:18 -08:00
Ritchie Martori
b0f51e20f7
Add user default ACLs
2013-12-10 19:43:59 -08:00
Ritchie Martori
dfcb43e613
Allow requests without auth tokens
2013-12-10 15:57:55 -08:00
Ritchie Martori
e7cc30ee03
Fix base class not being actual base class
2013-12-09 17:11:01 -08:00
Raymond Feng
7f51c28539
Fix the ACL resolution against rules by matching score
2013-12-09 15:26:53 -08:00
Ritchie Martori
af2b8dd4ff
Merge feature/password-reset
2013-12-06 17:35:14 -08:00
Ritchie Martori
216fee3015
Add access type checking
2013-12-06 17:04:47 -08:00
Ritchie Martori
bc27f07472
Add Model.requireToken for disabling token requirement
2013-12-06 12:09:52 -08:00
Ritchie Martori
4c69af5ae2
Add Model.requireToken, default swagger to false
2013-12-06 12:00:18 -08:00
Ritchie
68ef03e944
SLA-725 support PORT and HOST environment for PaaS support
2013-12-05 20:00:09 -08:00
Ritchie Martori
0987adfd5f
Merge pull request #64 from strongloop/auth
...
Initial auth implementation
2013-12-02 17:20:42 -08:00
Ritchie Martori
5cd71cee6b
Use loopback.AccessToken as default
2013-12-02 17:16:43 -08:00
Ritchie Martori
2c36935404
Fix missing assert
2013-12-02 16:37:42 -08:00
Ritchie Martori
2f9403016c
Initial auth implementation
2013-11-22 12:26:59 -08:00
Raymond Feng
52b1588152
Merge pull request #74 from strongloop/acl
...
More ACL features
2013-11-20 14:30:40 -08:00
Ritchie Martori
e92c46a4e4
Add password reset
2013-11-20 14:20:47 -08:00
Ritchie Martori
aaa8423257
Fix minor autoWiring bugs
2013-11-20 14:18:54 -08:00
Raymond Feng
344c74297c
Add unauthenticated role
2013-11-20 13:43:02 -08:00
Raymond Feng
bee8a3b022
Add checkAccess for subject and token
2013-11-20 13:43:01 -08:00
Raymond Feng
2c7c5fc7ec
Start to support smart roles such as owner
2013-11-20 13:43:01 -08:00
Ritchie Martori
3753c15b71
Merge pull request #71 from strongloop/feature/status-middleware
...
Add status middleware
2013-11-19 13:15:57 -08:00
Ritchie Martori
e5a55846e8
Merge pull request #69 from strongloop/datasource-auto-wiring
...
Initial auto wiring for model dataSources
2013-11-19 13:11:54 -08:00
Ritchie Martori
fd7dd7e4a2
Add status middleware
2013-11-19 12:54:30 -08:00
Ritchie Martori
9db8a7a25f
Auto attach all models created
2013-11-19 12:23:02 -08:00
Miroslav Bajtos
7d60b2dea6
Add loopback.urlNotFound() middleware.
...
The middleware should be used as the last 3-parameter middleware (regular
request handles) before any 4-parameter middleware (error handlers).
This way a request to an URL not handled by any middleware is converted to
a 404 error that can be handled by whatever error handling strategy is
configured in the application.
See senchalabs/connect#954 for more details.
2013-11-19 20:27:49 +01:00
Ritchie Martori
178e5dab30
Remove .attachTo() from tests
2013-11-19 11:02:43 -08:00
Ritchie Martori
da0545bed6
Initial auto wiring for model dataSources
2013-11-18 16:13:40 -08:00
Ritchie Martori
ec58237f8a
Add public flag checking
2013-11-18 12:52:00 -08:00
Raymond Feng
9fddbc3834
Switch to modelBuilder
2013-11-15 11:16:20 -08:00
Raymond Feng
44dfe34647
Allow ACLs for methods/relations
2013-11-15 10:08:49 -08:00
Raymond Feng
8381b05da1
Allows LDL level ACLs
2013-11-15 09:41:26 -08:00
Raymond Feng
8e679d0927
Fix the permission resolution
2013-11-14 21:19:57 -08:00
Raymond Feng
cc7560b258
Simplify check permission
2013-11-14 21:19:57 -08:00
Raymond Feng
94f12d0fce
Fix the permission check
2013-11-14 21:19:57 -08:00
Raymond Feng
be3c40c3d3
Add oauth2 related models
2013-11-14 21:19:56 -08:00
Raymond Feng
be32341467
Add a stub to register role resolvers
2013-11-14 21:19:56 -08:00
Raymond Feng
660ef89755
Merge ScopeACL into ACL
2013-11-14 21:19:56 -08:00
Raymond Feng
0430cd2ae3
Add tests for isInRole and getRoles
2013-11-14 21:19:56 -08:00
Raymond Feng
c3a1a85159
Add constants and more tests
2013-11-14 21:19:56 -08:00
Raymond Feng
48a0242711
Define the models/relations for ACL
2013-11-14 21:19:56 -08:00
Raymond Feng
67b934357b
Start to build the ACL models
2013-11-14 21:19:56 -08:00
Raymond Feng
492aca7724
Update acl/role models
2013-11-14 21:19:56 -08:00
Raymond Feng
f9849454e9
Update ACL model
2013-11-14 21:19:09 -08:00
Ritchie Martori
1de2a40e88
Update AccessToken and User relationship
...
- Add created default
- Default TTLs for user login access tokens
- Break out User / AccessToken relationship
2013-11-14 19:41:29 -08:00
Ritchie Martori
efce5039f6
Added AccessToken created property
2013-11-14 16:47:24 -08:00
Ritchie Martori
1bb95607b9
Update session / token documentation
2013-11-14 15:42:37 -08:00
Ritchie Martori
64d8ff986b
Add loopback.token() middleware
2013-11-14 13:01:47 -08:00
Ritchie
77a137eca6
Rename Session => AccessToken
2013-11-14 10:05:13 -08:00
Ritchie Martori
77e842d2a3
Fix bundle model name casing
2013-11-11 13:35:54 -08:00
Raymond Feng
a00645dd83
Merge pull request #53 from strongloop/apns
...
Update Application model for the push notification
2013-11-06 11:50:56 -08:00
Ritchie Martori
04a2de9f35
Merge pull request #58 from strongloop/lb-1.2-project
...
1.2 app.boot()
2013-11-05 14:08:21 -08:00
Ritchie Martori
30df6cb597
Code review fixes based on feedback from https://github.com/strongloop/loopback/pull/57
2013-11-04 14:07:26 -08:00
Ritchie Martori
1e3bfc6c18
Automatically convert strings to connectors if they are LoopBack connectors
2013-11-01 12:53:30 -07:00
Ritchie
6179476030
Add app.dataSource() method
2013-10-31 10:06:43 -07:00
Ritchie Martori
da5cb2c117
Add app.boot()
2013-10-29 14:44:44 -07:00
Raymond Feng
71339e159e
Remove the proxy as it is now handled by the juggler
2013-10-24 20:40:33 -07:00
Raymond Feng
e5a28b96ac
Clean up the model
2013-10-23 13:25:50 -07:00
Ritchie Martori
a3f1d8d944
Refactor email model into mail connector
2013-10-14 10:54:55 -07:00
Raymond Feng
bfffd839a7
Update Application model for the push notification
2013-10-11 13:56:26 -07:00
Ritchie Martori
137f12977f
Fix missing assert module
2013-10-11 13:49:04 -07:00
Raymond Feng
858ec8714d
Fix the id and property access
2013-10-04 15:53:02 -07:00
Ritchie
159eb0076c
Use a pure JS bcrypt
2013-09-12 12:09:43 -07:00
Raymond Feng
8784eb52cb
Update the internal prefix
2013-08-30 16:52:27 -07:00
Raymond Feng
534cc4af2f
Use findById to look up the instance by id
2013-08-16 22:11:58 -07:00
Raymond Feng
e8ac3a960f
Update the list of shared methods
2013-08-16 16:39:13 -07:00
Raymond Feng
d94bca9134
Make sure User.setup calls Model.setup to support shared ctor
2013-08-15 16:59:16 -07:00
Raymond Feng
0d405d4292
Rename 'loopback-data' to 'loopback-datasource-juggler'
2013-07-30 14:26:49 -07:00
Ritchie Martori
423b4f2157
Fix login query
2013-07-28 14:33:13 -07:00
Ritchie Martori
7f1e88e816
Implement required and update invlaid id schemas
2013-07-28 13:20:55 -07:00
Ritchie Martori
0f3ad00086
Remove auth middleware and passport until adding in acl and strategies
2013-07-28 10:11:29 -07:00
Ritchie Martori
89f65d792f
Clean up log out methods
2013-07-28 10:08:06 -07:00
Ritchie
35cafff877
Swagger integration
2013-07-25 16:24:00 -07:00
Ritchie
755b54f697
Fix hasMany / relational methods. Update docs.
2013-07-25 15:27:18 -07:00
Ritchie
8a7086be5c
Add root true to remote methods
2013-07-24 17:21:15 -07:00
Ritchie
d3eed3b321
Fix bad connector path
2013-07-24 11:13:30 -07:00
Raymond Feng
484f5270d9
Rename adapter to connector
2013-07-23 12:58:03 -07:00
Raymond Feng
da1cd6739b
Add more docs and apis to application model
2013-07-22 11:15:02 -07:00
Ritchie Martori
345435e7b2
Rename sl-remoting to strong-remoting
2013-07-19 12:07:04 -07:00
Raymond Feng
836df227c6
Add more functions and tests for Application model
2013-07-18 11:44:25 -07:00
Ritchie
f7791fc366
Manually merge application
2013-07-17 14:30:38 -07:00
Ritchie
7c7667151a
Manually merge rest adapter
2013-07-17 14:29:43 -07:00
Ritchie
a2308cbc1c
Merge 0.9 into master
2013-07-17 14:08:14 -07:00
Ritchie Martori
d128ed4386
Remove remote option object
2013-07-16 12:51:59 -07:00
Raymond Feng
1970f12988
Rename jugglingdb to loopback-data
2013-07-16 12:03:41 -07:00
Raymond Feng
1cf4338298
Rename jugglingdb to loopback-data
2013-07-16 11:52:21 -07:00
Raymond Feng
1059a7b863
Add renamed files
2013-07-16 11:05:38 -07:00
Raymond Feng
2f773115fe
rename asteroid to loopback
2013-07-16 11:02:06 -07:00
Raymond Feng
a35d2b7365
rename asteroid to loopback
2013-07-16 10:42:47 -07:00
Ritchie Martori
407a50f493
Fix model remoting issue.
2013-07-16 10:25:02 -07:00
Ritchie Martori
4be6ebceb7
Fix inheritance bug
2013-07-15 20:14:04 -07:00
Ritchie Martori
fbf0e35f1d
Remove updateAttribute as remote method
2013-07-15 19:45:27 -07:00
Ritchie Martori
49da6f4249
Fix login bug.
2013-07-15 18:22:33 -07:00
Ritchie Martori
aa8d1bb853
Added bcrypt for password hashing
2013-07-15 14:07:17 -07:00
Ritchie Martori
3f7e4b693a
Refactor Model into class. Make createModel() just sugar.
2013-07-15 11:32:00 -07:00
Ritchie Martori
d9b5daba0e
Validate uniqueness and format of User email.
2013-07-12 17:03:13 -07:00
Ritchie Martori
16617a3737
Add user.logout() sugar method and update logout docs
2013-07-12 16:10:15 -07:00
Ritchie Martori
a09b527000
Create 64 byte session ids
2013-07-12 15:47:58 -07:00
Raymond Feng
e810213590
Experiment application model
2013-07-12 13:09:22 -07:00
Ritchie Martori
a22cf5f4af
Update docs and add asteroid.memory() sugar api
...
- added asteroid.memory()
- added default session and email models to user model
2013-07-12 12:40:36 -07:00
Raymond Feng
83ca45e07e
Add exports to models
2013-07-09 15:06:42 -07:00
Raymond Feng
b4391e6b26
Updating models
2013-07-08 16:59:11 -07:00
Ritchie Martori
fc0777de08
Add basic email verification
2013-07-03 13:40:14 -07:00
Ritchie Martori
8387a68b85
Initial users
2013-07-03 13:40:13 -07:00
Ritchie Martori
5f16585270
Add default user properties
2013-07-03 13:40:13 -07:00
Ritchie Martori
1abe583029
Add initial User model
2013-07-03 13:40:13 -07:00
Ritchie Martori
90d990b798
Remove app.modelBuilder()
2013-07-03 13:40:13 -07:00
Raymond Feng
29d1077630
Add schema skeletons for built-in models
2013-07-03 13:40:11 -07:00
Raymond Feng
9fe79dbfca
Fix service() & services()
2013-07-02 17:22:51 -07:00
Ritchie Martori
3a420187e9
Add service method
2013-07-02 17:04:20 -07:00
Raymond Feng
f45e241f4b
Merge pull request #2 from strongloop/refactor/remotes
...
Get rid of handler creation for each request.
2013-07-02 16:51:28 -07:00
Raymond Feng
72020f8b62
Add more info to the models
2013-07-01 15:53:10 -07:00
Raymond Feng
a228ade1b1
Add more information to the logical models
2013-07-01 11:51:40 -07:00
Ritchie Martori
a4fb3012bf
Only build a sl remoting handler when a model is added to the app.
2013-07-01 10:41:52 -07:00
Raymond Feng
8ec0533eb4
Add schema skeletons for built-in models
2013-06-26 16:25:51 -07:00
Ritchie Martori
9dab0896f0
Add geo point tests
2013-06-24 16:30:09 -07:00
Ritchie Martori
d51cf6e23d
Rename long to lng
2013-06-24 15:32:22 -07:00
Ritchie Martori
93e749c722
Add geo point
2013-06-24 15:22:25 -07:00
Ritchie Martori
e10b2f639e
Use the reqs body for constructing models
2013-06-24 12:04:27 -07:00
Ritchie
e910a834a6
Merge branch 'master' of github.com:strongloop/asteroid
2013-06-20 10:21:02 -07:00
Ritchie
30247e71ed
Doc updates
2013-06-20 10:17:55 -07:00
Ritchie Martori
b426caccd3
Throw 404 when a model is not found during remote construction
2013-06-19 17:03:15 -07:00
Ritchie Martori
cc51b07596
Fix missing options when creating a model
2013-06-18 11:44:47 -07:00
Ritchie
dff810f31c
Filter out non js files from middleware loader
2013-06-17 08:23:41 -07:00
Ritchie
d358ab674c
Remove sl-module-loader dependencies
2013-06-17 08:18:31 -07:00
Ritchie
654a89147c
Merge branch 'refactor/api'
...
Conflicts:
lib/application.js
2013-06-17 08:01:22 -07:00
Ritchie Martori
6428000fc0
Refactor create model
2013-06-12 21:30:20 -07:00
Ritchie Martori
166451443a
Updated docs, updated tests
2013-06-12 15:44:38 -07:00
Ritchie Martori
935cd5cc77
Doc updates, tests
2013-06-11 09:01:44 -07:00
Ritchie Martori
1e1a227f86
Adding new data source
2013-06-07 17:37:30 -07:00
Ritchie Martori
bcef4c88cf
Remove node modules from ignore, removie configure middleware
2013-06-07 13:12:46 -07:00
Ritchie
79edef6ee6
More documentation updates based on feedback
2013-06-06 13:12:03 -07:00
Ritchie
22a55be841
Documentation updates
2013-06-05 17:11:21 -07:00
Ritchie
583f87a72b
Fix sharedCtor
2013-06-05 09:35:41 -07:00
Ritchie Martori
0171969dcb
Fix model builder reference
2013-05-28 08:53:40 -07:00
Ritchie Martori
d7df71c686
Add hasMany to defined models
2013-05-24 15:09:13 -07:00
Raymond Feng
d856ca026d
Bring up the oracle integration
2013-05-24 08:57:52 -07:00
Ritchie
22a5db7b53
Add rest middleware
2013-05-24 07:59:59 -07:00
Ritchie
787a6bcf43
Integrate remoting and jugglingdb fork
2013-05-24 07:59:23 -07:00
Ritchie
279ce5b929
remove model-route
2013-05-23 09:53:42 -07:00
Ritchie
5fdc7076b7
Alias define and defineModel
2013-05-22 20:41:56 -07:00
Ritchie Martori
bd2bf60467
Change references for module renames
2013-05-17 17:47:23 -07:00
Ritchie
7806495471
Fix missing proto variable
2013-05-07 11:38:52 -07:00
Ritchie Martori
7318acb75e
Merge in models and data sources built from config to the app.
2013-05-01 12:34:31 -07:00
Ritchie Martori
6b007fc9e7
Initial model refactor
2013-05-01 12:11:43 -07:00
Ritchie Martori
463c2d8d56
Rename module loader
2013-04-19 17:50:48 -07:00
Ritchie Martori
64520fa67a
Add api for building module loaders externally.
2013-04-19 14:10:59 -07:00
Ritchie Martori
b9a239db32
Refactor various naming conventions.
2013-04-17 17:43:00 -07:00
Ritchie Martori
7c2e73f53a
Initial working store, model, connection, and collection
2013-04-10 10:55:13 -07:00
Ritchie Martori
2a0f68e434
init
2013-04-09 09:02:36 -07:00