Skip to content

custom method for nested resource #1078

@whcmark

Description

@whcmark
.factory('UserService', ['Restangular', 'AddressService', function(Restangular, AddressService) {

    Restangular.extendModel('users', function(model) {
        model.customMethod = function() {
          //stuff
        });

      if (model.addresses) {
        // option 1: basic method
        // can work perfect but without custom method for addresses
        Restangular.restangularizeCollection(null, model.addresses, 'addresses');

        //option2 : extend after restangularizeCollection
        // it can work, but seem not good performance
        for (var i = 0; i < model.addresses.length; i++) {
          model.addresses[i] = _.extend(AddressService(model).one(model.addresses[i].id), model.addresses[i]);
        };
        model.addresses = Restangular.restangularizeCollection(null, model.addresses, 'addresses');




      }
      return model;

    });
  return Restangular.service('users');
}];

.factory('AddressService', ['Restangular', function(Restangular) {
    return function(parentObject) {
      Restangular.extendModel('addresses', function(model) {
          model.customAddressMethod = function() {
            //stuff
          });
        return model;
      });
    return Restangular.service('addresses', parentObject);
  }

}];

it is sample code only, untested.

i got two options, any better way to restangularize nested resource with custom method.?
thanks

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions