I'd like to get objects from a server, something like:
var User = $resource('/user/:userId', {userId:'@id'});
I'd like User
instances to all have certain methods to calculate derived data, without the server having to return it. For example, say for:
var aUser = User.get({userId: 43});
The server returns something like:
{id: 43, name: "Bob", alertTimestamp: 1447365544}
I'd like to be able to do something like:
if (aUser.alertTimePassed()) {
// do stuff
}
Is there a clean way to do this short of something like this, which seems hacky?
var alertTimePassed = function () {
var now = (new Date()).getTime() / 1000;
return now >= this.alertTimestamp;
};
var User = $resource('/user/:userId', {userId: '@id'}, {
get: {
method: "GET", url: '/user/:userId',
transformResponse: [angular.fromJson, function (obj) {
obj.alertTimePassed = alertTimePassed;
}]
}
});