Joey Baker
7cecd7fb40
Test (list) add initial list tests
2016-09-05 17:12:13 -07:00
Joey Baker
7b757fcc50
Fix (crud) if no prefix
, things still work
2016-09-05 17:11:42 -07:00
Joey Baker
f2f613b35b
Fix: boom error on invalid include
...
Sends a 501 `notImplemented` error when `parseInclude` can't find models
to include.
2016-09-05 17:08:09 -07:00
Joey Baker
bab2e90cbb
Feat (error) parse PG 42* errors
2016-09-04 17:28:16 -07:00
Joey Baker
da6b3ce963
Feat (error) include hint
on PG errors
...
Provides useful info!
2016-09-04 17:28:09 -07:00
Joey Baker
b032be20d1
Fix (error) always reply with an error #oops
...
We had a case where reply would never be called. This could case a
server hang.
2016-09-04 17:28:01 -07:00
Joey Baker
ce6f1fedde
Fix: bad merge in error.js
2016-08-28 09:57:23 -07:00
Joey Baker
db86507ef9
Fix: correct babel-polyfill version
...
This installs the babel-polyfill for babel 6. #oops
2016-08-28 09:56:46 -07:00
Mahdi Dibaiee
17105f66f4
feat(errors): parse sequelize errors and use the relevant Boom error type
2016-08-26 13:15:15 +04:30
Joey Baker
0e9cd935b9
Add: parse Sequelize errors
...
This adds intelligence around sequelize errors to parse out the correct
error status code and ensure it's always formatted as a Boom error.
2016-08-25 21:28:23 -07:00
Joey Baker
6d289d6d78
Add: Better errors
...
Now looks at the error that comes back from sequelize and uses boom to
format the error in a more friendly way. This should yield useful error
messages instead of generic 500s.
2016-08-03 14:42:20 -07:00
Joey Baker
79b9fc1242
Change: permissions must always be an array
...
This allows us to set different configs per model. I should have thought
of this usecase when I first did permissions.
2016-07-22 11:50:08 -07:00
Joey Baker
f95f411a65
Add: permissions
...
It's now possible to limit the models rest routes are created for. This
is done via a `models` option that can be simple to complex. The readme
has been updated to reflect this.
2016-07-22 10:14:17 -07:00
Mahdi Dibaiee
6c46ff68d0
fix(primaryKey): use model.primaryKey
instead of hardcoded id
for id
routes, fixes #9
2016-07-13 11:27:48 +04:30
Mahdi Dibaiee
29ee49fc62
fix(name): default name
parameter on options
object itself
2016-07-13 10:05:33 +04:30
Mahdi Dibaiee
d142e6c553
fix(options): take a name
parameter, same as the name
parameter used in hapi-sequelize
, fixes #8
2016-07-13 10:03:00 +04:30
Mahdi Dibaiee
6786b9b487
style: updated eslint config
2016-07-09 09:41:23 +04:30
Mahdi Dibaiee
2d1ab6b75a
Merge pull request #6 from Getable/fix-include
...
Fix: include option api correction
2016-07-09 09:13:14 +04:30
Joey Baker
2ea6c2e3a8
Fix: include option api correction
...
AFAIK, hapi-sequelize doesn't have a `request.models`, but it does have
a `request.getDb()` method that has `models` on it. This calls that
method to get the related models, but allows `request.models` to keep
working for backward compatibility.
2016-07-08 15:28:33 -07:00
Joey Baker
fee846eb4a
Fix: PUT requires a payload to work
2016-07-05 18:34:56 -07:00
Mahdi Dibaiee
07af23cb5a
chore(eslint): use eslint for a more consistent style throughout the code
2016-06-30 18:28:02 +04:30
Joey Baker
0698a8a3ad
Fix: crud: GET id's can be strings or numbers
2016-06-29 21:30:27 -07:00
Joey Baker
3f419284be
Fix: Reply with 404 when required
2016-06-29 21:28:56 -07:00
Ruben Paz
2fd7fa09b0
Replace defaults by defaultsDeep
2016-06-05 17:51:54 +01:00
Ruben Paz
9a28dbcc02
Added defaultConfig parameter to the options
2016-06-05 14:44:24 +01:00
Mahdi Dibaiee
7014e0e07d
fix(polyfill): load babel/polyfill if it's not already loaded
2016-05-11 08:55:32 +04:30
Mahdi Dibaiee
dd0084277b
fix: actually run destroyAll
:|
2016-05-07 10:41:30 +04:30
Mahdi Dibaiee
193aec9619
fix(crud): DELETE plural
2016-05-07 10:37:51 +04:30
Mahdi Dibaiee
973f63640c
fix(destroy): associative remove
methods require the instance, they don't accept queries, so fallback to manual destroy
2016-04-19 11:39:59 +04:30
Mahdi Dibaiee
544dc23723
fix(associate): associating one way is enough
...
fix(destroy): directly get a `destroy` method instead of find and destroy
2016-03-31 20:40:01 +04:30
Mahdi Dibaiee
afb08670e8
fix(associate): it seems sometimes associations don't resolve or reject, causing a hang
2016-03-13 14:56:16 +03:30
Mahdi Dibaiee
dc5a010408
fix(crud): typo
2016-03-12 11:05:04 +03:30
Mahdi Dibaiee
5551d416a8
fix(crud): single instance requests were failing, not taking id into account
2016-03-12 10:52:47 +03:30
Mahdi Dibaiee
097a9adcf3
fix(one-to-many): raw parameters are removed
2016-03-12 09:58:05 +03:30
Mahdi Dibaiee
11291f0e08
refactor: minimize repeated code by re-using parseInclude
, parseWhere
and getMethod
...
feat(include): ability to specify multiple includes, as an array
2016-03-10 10:48:30 +03:30
Mahdi Dibaiee
00e8e89767
fix(query): use qs
for querystring parsing
2016-03-02 12:13:27 +03:30
Mahdi Dibaiee
45d991d1e9
fix: one-to-one associations didn't work properly
2016-02-07 15:52:09 +03:30
Mahdi Dibaiee
5db3bb4eb3
feat(operators): ability to use sequelize operators in queries
2016-02-01 16:46:30 +03:30
Mahdi Dibaiee
6cfe877884
feat(include): include query parameter, passed to sequelize query
...
fix(associations): one-to-many associations -> destroyScope and get
2016-01-29 11:30:39 +03:30
Mahdi Dibaiee
aebff50d0b
fix(one-to-one): should not require an id for the second model, because there is only one anyways
2016-01-24 15:07:31 +03:30
Mahdi Dibaiee
5e0eeccbac
feat(associate): routes to associate objects with each other
2016-01-20 12:47:47 +03:30
Mahdi Dibaiee
14a36434f7
fix(associations): request.query should apply to second model's where
...
feat(associations): scope queries on associations
2016-01-19 10:37:56 +03:30
Mahdi Dibaiee
52ad030d0d
feat(associations): many-to-many associations
...
fix(associations): fix association queries, must use `include` instead of ForeignKey
fix(error): error decorator was missing await, which prevented it from catching errors
fix(error): console.error the error
refactor(crud): don't use `request.models[name]`, use the model directly
chore: README added
2016-01-19 10:03:29 +03:30
Mahdi Dibaiee
bae6820e64
feat(simple): simple CRUD REST API (no associations)
...
feat(associations): one-to-one associations
feat(associations): one-to-many associations
2016-01-18 18:08:43 +03:30