Coder Social home page Coder Social logo

stoicsquirrel / ember-data-save-relationships Goto Github PK

View Code? Open in Web Editor NEW

This project forked from frank06/ember-data-save-relationships

0.0 2.0 0.0 34 KB

A mixin for Ember Data JSON API serializers to save relationship data

License: MIT License

JavaScript 93.06% HTML 6.94%

ember-data-save-relationships's Introduction

ember-data-save-relationships

Include this mixin in your serializers and it will save your hasMany and belongsTo relationships' records.

For example:

// app/serializers/artist.js

import JSONAPISerializer from 'ember-data/serializers/json-api';
import SaveRelationshipsMixin from 'ember-data-save-relationships';

export default JSONAPISerializer.extend(SaveRelationshipsMixin, {
  attrs: {
    albums: { serialize: true }
  }
});

Now an Artist payload may include attributes like:

data: {
  id: null,
  type: "artist",
  attributes: {
    name: "Radiohead"
  },
  relationships: {
    albums: {
      data: [
        {
          id: null,
          type: "albums",
          attributes: {
            name: "Kid A",
            __id__: "0internal-model"
          }
        }
      ]
    }
  }
}

More info: http://emberigniter.com/saving-models-relationships-json-api/

Installation

  • ember install ember-data-save-relationships

Notes

  • A temporary ID (__id__) will be sent along with the relationship's data attributes. Your server API must return this attribute intact along with a proper id after saving the relationship records:
data: {
  id: "1"
  type: "artists",
  attributes: {
    name: "Radiohead",
    __id__: "3internal-model"
  }
}
  • Calling serialize: true on cyclic dependencies will result in a stack overflow
  • At this point in time, if your server returns updated attributes, these will not be updated in the Ember Data store

Issues

Please file at https://github.com/frank06/ember-data-save-relationships/issues

ember-data-save-relationships's People

Contributors

bryancrotaz avatar ember-tomster avatar leonardofaria avatar swilliams avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.