Simon Ho
96cd8ff56b
Remove expired item before executing expire
...
The expire feature is falsely returning 204 instead of 404 because it is
not removing expired items before execution.
2016-09-01 21:18:40 -07:00
Amir Jafarian
aec678d252
Fix manually
2016-08-22 19:20:12 -04:00
Amir Jafarian
aa6d28268b
Auto-update by eslint --fix
2016-08-22 15:12:25 -04:00
Simon Ho
5b46484277
Merge pull request #1056 from strongloop/globalize-kv-mem-connector
...
Globalize KeyValue Memory connector
2016-08-19 12:58:31 -07:00
Miroslav Bajtoš
3b653a192b
kvao: implement key filter
2016-08-18 09:59:56 +02:00
Miroslav Bajtoš
01ce7df60f
kvao: add iterateKeys() and keys()
...
Add a core implementation of KVAO.iterateKeys() which returns an
AsyncIterator, inspired by
- https://github.com/tc39/proposal-async-iteration
- https://www.npmjs.com/package/async-iterators
This way we can safely iterate even large sets of data.
Also add KVAO.keys(), a sugar API converting the result of iterateKeys()
into a single array.
2016-08-18 09:59:56 +02:00
Simon Ho
8b28cb3993
Globalize KeyValue Memory connector
2016-08-17 18:22:17 -07:00
Sonali Samantaray
37541dd178
upsertWithWhere feature support in juggler DAO
2016-08-16 18:06:01 +05:30
Simon Ho
1c20cc83aa
Add TTL for KeyValue related features
2016-08-11 17:12:36 -07:00
Miroslav Bajtoš
4978cd8089
kv-memory: fix crash in regular cleanup
...
Fix bug in "_setupRegularCleanup()" where the interval callback
was trying to access an object that has been garbage-collected
in the meantime.
2016-08-09 15:35:23 +02:00
Miroslav Bajtoš
9ced20fdcc
kvao: return 404 when expiring unknown key
2016-08-08 17:22:33 +02:00
Miroslav Bajtoš
f15b4e2c86
Implement KeyValue API and memory connector
...
Models attached to a KeyValue connector get the following *static*
methods:
Color.set(key, value);
Color.set(key, value, ttl);
Color.set(key, value, { ttl: ttl });
Color.get(key);
Color.expire(key, ttl);
2016-08-08 10:15:34 +02:00
Amir Jafarian
4ce5b5d3a0
Support for globalization
2016-07-28 15:20:18 -04:00
Miroslav Bajtoš
c7f34c3452
eslint config 2.0 + remove extra empty lines
...
Upgrade eslint-config-loopback to ^2.0.0.
Remove extra empty lines to make `npm run lint` pass again.
2016-04-19 16:11:43 +02:00
Raymond Feng
e321bafdf9
Fix style errors
2016-04-05 16:11:25 -07:00
Raymond Feng
b7543e9402
Merge pull request #860 from horiaradu/master
...
fix nin support for in memory datasource
2016-04-05 15:42:07 -07:00
Miroslav Bajtoš
27c6279d6c
fix remaining eslint issues
2016-04-05 15:25:34 +02:00
Miroslav Bajtoš
39e04a1756
eslint --fix
2016-04-05 15:25:34 +02:00
Ryan Graham
c467b43c38
Insert copyright headers
2016-04-04 18:14:03 -07:00
Horia Radu
a3ae44aca0
fix nin support for in memory datasource
2016-02-27 10:27:09 +02:00
Amir Jafarian
2281e95940
Implementtaion of replace
...
This includes:
*implementation of replaceAttributes
*implementtaion of replaceOrCreate
2016-02-03 16:06:35 -05:00
Amir Jafarian
ba7161b39e
Implement `findOrCreate` for memory connector
2016-01-16 18:46:53 -05:00
Michael Diguet
d8678a1f03
Correction of a regression introduced by commit 632898b: when querying an empty array ([]) with a 'neq' filter, there were no matching.
2015-11-23 17:09:24 +01:00
Laurent Villeneuve
632898b022
Add support for matching array values à la mongo.
2015-08-27 23:32:53 -04:00
Laurent Villeneuve
0381f6d7e7
Support embedded query in memory connector. Fix memory connector bug
...
Adds support for the ability to query embedsMany models from the parent.
Fix a memory connector bug that could occur when having an "or" or "and"
clause combined with another property. In that case, the and would revert
true for 'Paul McCartney'
```
{name:'John Lennon',and: [{role:'lead'}, {vip:true}]}}
```
2015-08-18 15:56:36 -04:00
Fabien Franzen
2120e53f7f
Indicate result of destroyById/protototype.destroy
...
Return `info.count` to the callback to indicate whether the model
instance was deleted or not. When Model's `settings.strictDelete`
is true, return 404 error when the model instance was not found.
2015-08-10 17:38:46 +02:00
Simon Ho
4cd428a726
Fix regexp error for the memory connector
...
- Check for undefined/null values when accessing `regexp` key
2015-07-30 08:46:50 -07:00
Simon Ho
b8f1598723
Add support for regex operator
2015-07-27 15:11:53 -07:00
Bryan Clark
1066313f3f
use fromDb to deserialize data after save in Memory connector
...
Changes the after `save` callback in the memory connector to use the
`fromDb` method to deserialize the data passed back to upsert and
updateAttributes methods.
2015-07-14 09:08:09 -07:00
Raymond Feng
93a0342099
Add an optional `options` argument to relation methods
2015-05-16 11:52:17 -07:00
Raymond Feng
5ef444e45d
Conditionally pass options to connector CRUD methods
2015-05-13 09:36:45 -07:00
Raymond Feng
137d096cfb
Allow nesting properties to be queried for memory connector
...
See https://github.com/strongloop/loopback/issues/517
2015-03-27 16:05:12 -07:00
Miroslav Bajtoš
84d538c1ca
Merge pull request #515 from strongloop/feature/isNewInstance
...
Add ctx.isNewInstance for "save" hooks
2015-03-20 18:33:55 +01:00
Miroslav Bajtoš
94e6d893a7
Fix updateAll callback in "transient" connector
...
Fix the implementation to return an object as the result,
that's the expected API since 04f35b3
.
2015-03-20 08:34:58 +01:00
Simon Ho
04f35b31b4
Memory connector returns updated records count
...
The memory connector now includes the number of updated items in its callback
when updating records.
2015-03-19 15:40:14 -07:00
Miroslav Bajtoš
ffcaa4e76e
Add ctx.isNewInstance for "save" hooks
...
"before save" hooks provide "ctx.isNewInstance" whenever "ctx.instance"
is set. Possible values:
- true for all CREATE operations
- false for all UPDATE operations
- undefined for "prototype.save"
"after save" hooks provide "ctx.isNewInstance" whenever "ctx.instance"
is set. Possible values:
- true after all CREATE operations
- false after all UPDATE operations
- undefined after "updateOrCreate" and "save"
Note: both "updateOrCreate" and "prototype.updateAttributes"
don't provide `ctx.instance` to "before save" hooks, therefore
`ctx.isNewInstance` it not provided either.
2015-03-19 18:05:24 +01:00
Miroslav Bajtoš
d731252941
deleteAll returns number of deleted records
...
The number is returned as `data.ctx` to `cb(null, data)`.
2015-03-19 17:54:22 +01:00
Miroslav Bajtoš
ae3dc3cec2
Merge pull request #510 from strongloop/fix/duplicate-create
...
Reject CREATE with a duplicate id
2015-03-19 17:37:01 +01:00
Miroslav Bajtoš
902772f1af
Reject CREATE with a duplicate id
...
Modify the memory connector to reject requests to create a record
with a duplicate id.
Add a unit-test to verify this behaviour across all connectors.
2015-03-16 18:26:42 +01:00
Daniel B. Vasquez
9aeaa37b1c
enable between filter for memory db connector
2015-03-16 11:21:04 +01:00
Raymond Feng
4afb2385a9
Fix id type issue for update
...
https://github.com/strongloop/loopback/issues/1058
2015-02-02 08:44:36 -08:00
Miroslav Bajtoš
1fd6eff10f
Intent-based hooks for persistence
...
This patch introduces a new API for "intent-based" hooks. These hooks
are not tied to a particular method (e.g. "find" or "update"). Instead,
they are triggered from all methods that execute a particular "intent".
The consumer API is very simple, there is a new method
Model.observe(name, observer), where the observer is function
observer(context, callback).
Observers are inherited by child models and it is possible to register
multiple observers for the same hook.
List of hooks:
- query
- before save
- after save
- after delete
2015-01-29 08:43:52 +01:00
Dallon Feldner
e7fedc2926
Fix for #369
...
Remember, folks, `typeof null === 'object'`.
2015-01-12 17:38:21 -06:00
Christian Vette
e45407256e
fix sorting of undefined values with multiple columns
2014-12-22 21:06:01 +01:00
cvette
31c7973763
code style
2014-12-22 18:54:56 +01:00
cvette
a6b8ca70af
fix sorting with undefined in memory connector
2014-12-22 18:45:39 +01:00
Raymond Feng
455743167a
Fix the automigrate issue
...
See https://github.com/strongloop/loopback-example-relations-basic/issues/6
2014-10-16 12:04:16 -07:00
Fabien Franzen
b136a8fce7
Full test CRUD suite for default scope
2014-10-09 18:14:04 +02:00
Fabien Franzen
ad55681d69
Properly reset Memory connector cache on automigrate
2014-10-09 18:13:58 +02:00
Fabien Franzen
8352ed3afc
Implemented collection setting for Memory connector
2014-10-09 18:13:57 +02:00