orbitjs / todomvc-ember-orbit

A TodoMVC app that uses ember-orbit and orbit-server
MIT License
18 stars 9 forks source link

JSONAPIRequestProcessor does not support the `${query.expression.op}` operator for queries #27

Open fpauser opened 4 years ago

fpauser commented 4 years ago

I followed the README.md for Scenario 4: Memory + Backup + Remote but get this error in my console:

Uncaught (in promise) Error: JSONAPIRequestProcessor does not support the `${query.expression.op}` operator for queries.
    at JSONAPISource.getQueryOperator (jsonapi-source.js:157)
    at JSONAPISource._query (jsonapi-source.js:115)
    at JSONAPISource.proto.__query__ (queryable.js:66)
  | getQueryOperator | @ | jsonapi-source.js:157
-- | -- | -- | --
  | _query | @ | jsonapi-source.js:115
  | proto.__query__ | @ | queryable.js:66
  | IndexedDB (async) |   |  
  | eval | @ | bucket.js:175
  | eval | @ | bucket.js:171
  | Promise.then (async) |   |  
  | getItem | @ | bucket.js:170
  | _reify | @ | task-queue.js:364
  | TaskQueue | @ | task-queue.js:46
  | Source | @ | source.js:44
  | JSONAPISource | @ | jsonapi-source.js:47
  | create | @ | remote.js:11
  | create | @ | index.js:558
  | create | @ | index.js:257
  | instantiateFactory | @ | index.js:369
  | lookup | @ | index.js:297
  | lookup | @ | index.js:139
  | lookup | @ | container_proxy.js:81
  | (anonymous) | @ | coordinator-factory.js:31
  | create | @ | coordinator-factory.js:31
  | create | @ | index.js:558
  | create | @ | index.js:257
  | instantiateFactory | @ | index.js:369
  | lookup | @ | index.js:297
  | lookup | @ | index.js:139
  | lookup | @ | container_proxy.js:81
  | getInjection | @ | index.js:3812
  | (anonymous) | @ | index.js:1886
  | untrack | @ | validator.js:794
  | get | @ | index.js:1885
  | CPGETTER_FUNCTION | @ | index.js:992
  | beforeModel | @ | application.js:29
  | runBeforeModelHook | @ | router_js.js:782
  | (anonymous) | @ | router_js.js:691
  | invokeCallback | @ | rsvp.js:493
  | publish | @ | rsvp.js:476
  | (anonymous) | @ | rsvp.js:19
  | invoke | @ | backburner.js:338
  | flush | @ | backburner.js:229
  | flush | @ | backburner.js:426
  | _end | @ | backburner.js:960
  | Backburner._boundAutorunEnd | @ | backburner.js:629
  | Promise.then (async) |   |  
  | iterations | @ | backburner.js:28
  | flush | @ | index.js:43
  | _scheduleAutorun | @ | backburner.js:1179
  | _ensureInstance | @ | backburner.js:1167
  | schedule | @ | backburner.js:776
  | schedule | @ | index.js:361
  | waitForDOMReady | @ | application.js:421
  | init | @ | application.js:331
  | superWrapper | @ | index.js:441
  | initialize | @ | core_object.js:88
  | create | @ | core_object.js:604
  | (anonymous) | @ | app-boot.js:3
chuckcarpenter commented 3 years ago

I have the same issue with scenario 3, any luck @fpauser ?

chuckcarpenter commented 3 years ago

My issue seems to be b/c I have a nested experssions key and that array has the op key we're looking for here.

image

dgeb commented 3 years ago

Sorry for the delay in responding and for this unnecessary confusion.

This error is due to an incompatiblity between the v0.17 beta of ember-orbit used for this demo and the stable v0.16 of @orbit/jsonapi that will be installed by default by running ember g data-source remote --from=@orbit/jsonapi.

In hindsight, I should not have upgraded the main branch of this demo to use v0.17 until it's out of beta.

This can be resolved fairly easily by updating @orbit/jsonapi to ^0.17.0-beta.12 in your package.json and then running yarn install.

Note I've extracted the demo server to https://github.com/orbitjs/todomvc-orbit-server and am still in the process of updating it. I expect to be finished in the next day or two.

fpauser commented 3 years ago

Thanks for clarifying!