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
|
|
|
|
])
|