Raymond Feng
1f995ec674
Use dataSource.connect to avoid duplicate connects
2017-04-04 10:19:58 -07:00
Raymond Feng
0a408476ec
Fix in-mem connector file operation racing condition
2017-04-04 08:25:15 -07:00
Loay
9541bb5f15
Add proper statusCode for duplicate
2017-02-08 23:52:14 -05:00
Miroslav Bajtoš
d809260799
Upgrade eslint-config, fix new violations
2017-02-01 12:45:56 +01:00
Loay
44a5a7ad81
Fix forceId validation error
2017-01-26 16:52:19 -05:00
Simon Ho
2320df1227
Refactor flush to deleteAll
...
- Rename `flush` to `deleteAll`
- Add `delete`
- Detect `delete/deleteAll` before running downstream test suites
- Fall back to unoptimized `deleteAll` when connector does not support
`deleteAll` but supports `delete`
- Return 501 for connectors not supporting `delete` or `deleteAll`
2017-01-09 14:53:34 -08:00
Simon Ho
f38709b7cb
Add flush operation to KVAO
...
Used to delete all keys (and values) associated to the current model.
2016-12-30 18:06:36 -08:00
Miroslav Bajtoš
0f7a567f18
Upgrade eslint & config to latest
...
- eslint ^3.11.1
- eslint-config-loopback: ^6.0.0
- fix linter errors (mostly no-undef)
2016-12-05 15:14:09 +01:00
Nick Duffy
a23076d3a8
Add ilike and nilike operators
...
Closes #633
2016-10-12 18:31:31 -06:00
pponugo
a39c0236bb
Support nested queries for arrays
...
Enhance the built-in memory connector to correctly support nested
queries for arrays in addition to objects.
E.g. if "friends" is an array of objects containing "name", then
{ where: { "friends.name": "Jane" } } should match records containing
a friend called "Jane".
2016-09-07 13:33:57 +02:00
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