0.0.2 • Published 8 years ago

ember-data-query-first v0.0.2

Weekly downloads
1
License
MIT
Repository
github
Last release
8 years ago

ember-data-query-first

Build Status Ember Observer Score

Conveniently get the first item of a store.query().

If you are querying your adapter and an array is returned, but you only need the first entry:

// GET /users?email=urbi@orbi.com
// {
//   data: [{
//     type: "user",
//     id: 1,
//     attributes: {
//       email: "urbi@orbi.com"
//     }
//   }]
// }
store.queryFirst('user', { email: 'urbi@orbi.com' }).then(function(user) {
  console.log(`ID of the user: ${user.get("id")}`);
});

which is equivalent to:

store.query('user', { email: 'urbi@orbi.com' }).then(function(users) {
  return users.get("firstObject");
}).then(function(user) {
  console.log(`ID of the user: ${user.get("id")}`);
});

Note on store.queryRecord():

store.queryRecord() should be used when a single record is requested and the id is not known beforehand. store.queryRecord is most likely used with a custom implementation of urlForQueryRecord ond the adapter:

// app/adapters/user.js
import Adapter from './application';

export default Adapter.extend({

  urlForQueryRecord(query) {
    if (query.current) {
      return '/current_user';
    }

    return this._super(...arguments);
  }

});

// GET /current_user
// {
//   data: {
//     type: "user",
//     id: 1,
//     attributes: {
//       email: "urbi@orbi.com"
//     }
//   }
// }
store.queryRecord('user', { current: true }).then(function(currentUser) {
  console.log(`ID of current user: ${currentUser.get("id")}`);
});

Development

Installation

  • git clone this repository
  • npm install
  • bower install

Running

Running Tests

  • npm test (Runs ember try:testall to test your addon against multiple Ember versions)
  • ember test
  • ember test --server

Building

  • ember build

For more information on using ember-cli, visit http://ember-cli.com/.