Pony.fm/resources/assets/scripts/app/services/account-tracks.coffee
2015-10-24 19:35:37 -07:00

31 lines
971 B
CoffeeScript

angular.module('ponyfm').factory('account-tracks', [
'$rootScope', '$http'
($rootScope, $http) ->
cache = {}
self =
clearCache: () -> cache = {}
getEdit: (id, force) ->
url = '/api/web/tracks/edit/' + id
force = force || false
return cache[url] if !force && cache[url]
def = new $.Deferred()
cache[url] = def
$http.get(url).success (track) -> def.resolve track
def.promise()
refresh: (query, force) ->
query = query || 'created_at,desc'
url = '/api/web/tracks/owned?' + query
force = force || false
return cache[url] if !force && cache[url]
def = new $.Deferred()
cache[url] = def
$http.get(url).success (tracks) -> def.resolve tracks
def.promise()
self
])