Skip to content

Instantly share code, notes, and snippets.

@mrinterweb
Created October 2, 2017 19:55
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mrinterweb/34ad8c50332200e88905c35cf127c1d1 to your computer and use it in GitHub Desktop.
Save mrinterweb/34ad8c50332200e88905c35cf127c1d1 to your computer and use it in GitHub Desktop.
A basic jsonapi serializer
import _ from 'lodash';
export default {
UPDATE_RATES({ commit }, results) {
if (results.data && results.data.length === 0) {
commit('UPDATE_RATES', []);
} else {
let mapAtributes = function(_val, key) {
return _.camelCase(key);
};
let rates = results.data.map((d) => {
let rate = _.mapKeys(d.attributes, mapAtributes);
rate.id = d.id;
rate.serviceProviderId = d.relationships['service-provider'].data.id;
let serviceProvider = _.find(results.included, { type: 'service-providers', id: rate.serviceProviderId });
if (serviceProvider) {
rate = _.merge(rate, _.mapKeys(serviceProvider.attributes, mapAtributes));
}
return rate;
});
commit('UPDATE_RATES', rates);
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment