Pony.fm/resources/assets/scripts/app/services/account-tracks.coffee

32 lines
971 B
CoffeeScript
Raw Normal View History

2015-08-31 17:42:21 +02:00
angular.module('ponyfm').factory('account-tracks', [
2015-10-25 03:35:37 +01:00
'$rootScope', '$http'
($rootScope, $http) ->
cache = {}
2015-08-31 17:42:21 +02:00
2015-10-25 03:35:37 +01:00
self =
clearCache: () -> cache = {}
2015-08-31 17:42:21 +02:00
2015-10-25 03:35:37 +01:00
getEdit: (id, force) ->
url = '/api/web/tracks/edit/' + id
force = force || false
return cache[url] if !force && cache[url]
2015-08-31 17:42:21 +02:00
2015-10-25 03:35:37 +01:00
def = new $.Deferred()
cache[url] = def
$http.get(url).success (track) -> def.resolve track
def.promise()
2015-08-31 17:42:21 +02:00
2015-10-25 03:35:37 +01:00
refresh: (query, force) ->
query = query || 'created_at,desc'
url = '/api/web/tracks/owned?' + query
force = force || false
return cache[url] if !force && cache[url]
2015-08-31 17:42:21 +02:00
2015-10-25 03:35:37 +01:00
def = new $.Deferred()
cache[url] = def
$http.get(url).success (tracks) -> def.resolve tracks
def.promise()
2015-08-31 17:42:21 +02:00
2015-10-25 03:35:37 +01:00
self
])