Raymond Feng
966bb56c31
Enhance fieldsToArray to consider strict mode
2015-05-19 22:32:03 -07:00
Raymond Feng
7a48e7801d
Refactor the observer functions into a plugin
2015-05-16 11:52:17 -07:00
Miroslav Bajtoš
99d4c6aa8d
Add new strict mode "validate"
...
When a model is configured with `strict: 'validate'`,
any dynamic properties not included in the schema trigger
a validation error.
2015-04-14 08:16:10 +02:00
Raymond Feng
16cc870f57
Merge pull request #544 from strongloop/feature/nesting-doc-query
...
Allow nesting properties to be queried for memory connector
2015-04-02 08:47:10 -07:00
Miroslav Bajtoš
cd7bc46efb
Deprecate property names containing a dot
2015-04-02 09:49:04 +02:00
Miroslav Bajtoš
517ea875ec
Merge pull request #500 from 0angelic0/master
...
Remove and clear Operation Hook observers
2015-03-30 11:26:57 +02:00
Miroslav Bajtoš
9fd4c00225
Add model setting "persistUndefinedAsNull"
...
When the setting "persistUndefinedAsNull" is true,
the model will use `null` instead of `undefined` in
all property values.
- Known optional model properties are set to `null` when no value
was provided.
- When setting model properties, `undefined` is always converted
to `null`. This applies to both known (model-defined) properties
and additional (custom, dynamic) properties.
- The instance method `toObject()` converts `undefined` to `null` too.
Because `toJSON()` calls `toObject()` under the hood, the change
applies to `toJSON()` too.
2015-03-27 18:25:26 +01:00
0angelic0
befe30f14a
Add abilities to remove and clear observers - Operation Hooks.
2015-03-11 18:08:35 +07:00
Miroslav Bajtoš
ba0f3c1616
Add a new property option `defaultFn`
...
The property allows developers to specify that the default value
should be retrieved via a named function.
Only two built-in functions are supported at the moment:
"guid", "uuid" - generate a new GUID/UUID
"now" - use the current date and time
Support for custom (user-provided) functions is not implemented yet.
2015-02-20 20:08:25 +01:00
Miroslav Bajtoš
c939efe1e7
Merge pull request #445 from PradnyaBaviskar/issue292
...
Add $now as shortcut default value for date property
2015-02-17 19:46:05 +01:00
Miroslav Bajtoš
76ebdcb91b
ModelBaseClass: promise mode for notifyObserversOf
...
Support both promise and callback styles in
ModelBaseClass.notifyObserversOf.
When there is no callback supplied, the method returns a promise that
is resolved (or rejected) with the result.
2015-02-17 18:19:21 +01:00
Miroslav Bajtoš
a2836fbb56
ModelBaseClass: support promise-based observers
...
Allow the observer functions passed to `ModelBaseClass.observe`
to return a promise instead of calling the callback.
2015-02-17 17:31:42 +01:00
Pradnya Baviskar
aba7d0dc10
Add $now as shortcut default value for date property
2015-02-16 11:32:24 +05:30
Raymond Feng
4793546353
Merge pull request #400 from chrene/protected
...
Add support for protected properties.
2015-02-02 09:04:51 -08:00
Miroslav Bajtoš
b3d07ebbe8
ModelBaseClass: implement async observe/notify
...
Implement infrastructure for intent-based hooks.
2015-01-29 08:43:50 +01:00
Christian Enevoldsen
7372fafc97
Fixed typos and logic for protected properties
2015-01-20 21:32:31 +01:00
Christian Enevoldsen
d39f539413
adds support for protected properties.
2015-01-20 20:58:52 +01:00
Clark Wang
83c3a17f87
support embeds data for belongsTo relation
...
Signed-off-by: Clark Wang <clark.wangs@gmail.com>
2015-01-19 22:56:09 +08:00
Miroslav Bajtoš
2e98c51571
Fix detection of `util.inspect` version
...
Improve the detection to work in browser too. This fixes a regression
introduced in e4fc3878
.
2015-01-15 08:45:52 +01:00
Miroslav Bajtoš
e4fc38788f
Fix Model.prototype.inspect
...
Return the raw object data when running on Node v0.11.14+
That way all `inspect` options are always preserved.
When running on older version:
- Honour the depth argument passed to the custom `inspect` function.
- Disable color output, becase there is now way how to detect whether
colors were enabled or disabled by the top-level caller.
2015-01-12 17:12:18 +01:00
Fabien Franzen
4e20128945
Tiny fix: default __persisted to false
2014-10-19 18:52:18 +02:00
Fabien Franzen
e7a108efdb
Don't apply defaults when fields are specified
2014-10-19 18:47:27 +02:00
Fabien Franzen
ad55681d69
Properly reset Memory connector cache on automigrate
2014-10-09 18:13:58 +02:00
Fabien Franzen
610866bd7c
Extract mergeQuery and setScopeValuesFromWhere
...
Related to #274 - in preparation of default scope
2014-10-09 18:13:40 +02:00
Fabien Franzen
fafe51833b
More fixes/tests
2014-09-05 17:09:23 +02:00
Fabien Franzen
aebf5e9e6b
Enforce id (prevent user-set value), fix isNewRecord
2014-09-05 16:35:01 +02:00
Fabien Franzen
86ea107550
Validations configuration as object
...
Previously validations were appended to an array when configured. The
format was cumbersome, and led to issues. This refactors the
configuration into an object, as a property of the Model.
Note that if no validations have been configured, this property is
currently `undefined`.
2014-08-26 17:51:01 +02:00
Raymond Feng
fcd8ed984c
Make sure falsy value is kept for properties not predefined
2014-08-21 13:47:09 -07:00
Fabien Franzen
3f0380296a
Fix side-effects of PR #237 - see #242
2014-08-21 10:44:55 +02:00
Fabien Franzen
faed0510c1
Coerce embedded model types
2014-08-20 08:58:07 -07:00
Fabien Franzen
a446551a59
Fix relations for RDBMS connectors (mysql, postgresql)
...
- fix tests (explicit model/property definitions)
- fix include vs. RDBMS model strictness
2014-08-20 14:03:38 +02:00
Raymond Feng
f671c9c726
Clean up the mixin processing
2014-08-08 01:20:57 -07:00
Fabien Franzen
35776311fd
Unified plugins into mixins
...
Mixin types: module function, module object, LDL json object.
2014-08-06 13:26:47 +02:00
Fabien Franzen
1a4e8863ef
Basic plugin architecture
...
Similar to http://mongoosejs.com/docs/plugins.html
Next, loopback-boot should be updated to support loading plugins from
dirs.
2014-08-05 16:16:10 +02:00
Raymond Feng
3edee5c4c5
Work around for Date default
...
See https://github.com/strongloop/loopback-connector-postgresql/issues/15
2014-06-21 12:53:06 -07:00
Raymond Feng
888d15ce1c
Optimize model instantiation and conversion
2014-06-18 22:13:52 -07:00
Raymond Feng
97b1501c1f
Keep undefined/null values for the array type
...
This allows connectors to distinguish between empty array and
undefined/null. For example, mongodb will not override existing array
properties if the value is undefined.
2014-05-27 21:59:21 -07:00
Ritchie Martori
2922eb63b7
Merge
2014-05-14 13:33:46 -07:00
Ritchie Martori
0866a55cb2
Do not .toObject if already Object
2014-05-14 13:31:15 -07:00
Raymond Feng
3f410cae21
Add test cases for updateOrCreate/save and fix related issues
2014-05-09 15:27:45 -07:00
Raymond Feng
8b128b566d
Make sure ObjectID type is not parsed as object
2014-05-08 15:46:14 -07:00
Ritchie Martori
aea5836569
Add hidden property support
2014-04-11 11:39:57 -07:00
Raymond Feng
cc5975486d
Simplify the inclusion processing
2014-03-17 08:40:40 -07:00
crandmck
9c2098cd35
Updates to JSDoc comments for API doc
2014-03-12 16:28:46 -07:00
Raymond Feng
85232f31b3
Clean up the options for model constructor
2014-02-10 22:38:59 -08:00
Raymond Feng
1961fbeefe
Enhance the assertions
2014-02-03 20:52:01 -08:00
Raymond Feng
ee5b351398
Make sure own properties are copied by toObject for non-strict mode
...
See https://github.com/strongloop/loopback/issues/162
2014-01-30 11:51:34 -08:00
Raymond Feng
93c18163c8
Make sure __cachedRelations is not enumerable
2014-01-28 09:57:23 -08:00
Raymond Feng
2b8c1ebaee
Reformat the code
2014-01-24 09:09:53 -08:00
Ritchie Martori
597a775e4c
Add model.getDataSource() method
2013-10-31 11:46:12 -07:00