summaryrefslogtreecommitdiffstats
path: root/js/service/FeedResource.js
diff options
context:
space:
mode:
authorBernhard Posselt <dev@bernhard-posselt.com>2014-09-11 20:26:04 +0200
committerBernhard Posselt <dev@bernhard-posselt.com>2014-09-11 20:26:04 +0200
commitf3091d84e14537a42334e66ea6588cf2b83f9ab6 (patch)
tree943151aa564177e956d5dc1b2fff12845e48c4c0 /js/service/FeedResource.js
parentf50dba835fa58f9ba979a9038ffd185ab8fe3b96 (diff)
various work on creating feeds, folders and showing folders
Diffstat (limited to 'js/service/FeedResource.js')
-rw-r--r--js/service/FeedResource.js33
1 files changed, 21 insertions, 12 deletions
diff --git a/js/service/FeedResource.js b/js/service/FeedResource.js
index b91a9a724..cb9b5e8f4 100644
--- a/js/service/FeedResource.js
+++ b/js/service/FeedResource.js
@@ -7,16 +7,17 @@
* @author Bernhard Posselt <dev@bernhard-posselt.com>
* @copyright Bernhard Posselt 2014
*/
-app.factory('FeedResource', function (Resource, $http, BASE_URL) {
+app.factory('FeedResource', function (Resource, $http, BASE_URL, $q) {
'use strict';
- var FeedResource = function ($http, BASE_URL) {
+ var FeedResource = function ($http, BASE_URL, $q) {
Resource.call(this, $http, BASE_URL, 'url');
this.ids = {};
this.unreadCount = 0;
this.folderUnreadCount = {};
this.folderIds = {};
this.deleted = null;
+ this.$q = $q;
};
FeedResource.prototype = Object.create(Resource.prototype);
@@ -163,8 +164,8 @@ app.factory('FeedResource', function (Resource, $http, BASE_URL) {
};
- FeedResource.prototype.move = function (url, folderId) {
- var feed = this.get(url);
+ FeedResource.prototype.move = function (feedId, folderId) {
+ var feed = this.getById(feedId);
feed.folderId = folderId;
this.updateFolderCache();
@@ -185,11 +186,12 @@ app.factory('FeedResource', function (Resource, $http, BASE_URL) {
title = title.toUpperCase();
}
+ // FIXME: use OC.generateUrl()
var feed = {
url: url,
- folderId: folderId,
+ folderId: folderId || 0,
title: title,
- faviconLink: '../css/loading.gif'
+ faviconLink: OC.generateUrl('/apps/news/css/loading.gif')
};
if (!this.get(url)) {
@@ -198,17 +200,24 @@ app.factory('FeedResource', function (Resource, $http, BASE_URL) {
this.updateFolderCache();
- console.log(feed);
+ var deferred = this.$q.defer();
- return this.http({
+ this.http({
method: 'POST',
url: this.BASE_URL + '/feeds',
data: {
- url: url,
- parentFolderId: folderId,
- title: title
+ url: feed.url,
+ parentFolderId: feed.folderId,
+ title: feed.title
}
+ }).success(function (data) {
+ deferred.resolve(data);
+ }).error(function (data) {
+ feed.faviconLink = '';
+ feed.error = data.message;
});
+
+ return deferred.promise;
};
@@ -226,5 +235,5 @@ app.factory('FeedResource', function (Resource, $http, BASE_URL) {
};
- return new FeedResource($http, BASE_URL);
+ return new FeedResource($http, BASE_URL, $q);
}); \ No newline at end of file