summaryrefslogtreecommitdiffstats
path: root/js/service/ItemResource.js
diff options
context:
space:
mode:
authorBernhard Posselt <dev@bernhard-posselt.com>2014-05-22 02:40:44 +0200
committerBernhard Posselt <dev@bernhard-posselt.com>2014-05-22 02:40:44 +0200
commit23246ea3987d8a60d3ea344ca93d209d082c3337 (patch)
treee8a63fcd0e3cfdd02c3ab78a2001413d2e83bfc1 /js/service/ItemResource.js
parent2b4da592f1c8a2210f9ba49a9e24eb2056e5d4a8 (diff)
add keep unread, read, read feed and starring
Diffstat (limited to 'js/service/ItemResource.js')
-rw-r--r--js/service/ItemResource.js47
1 files changed, 42 insertions, 5 deletions
diff --git a/js/service/ItemResource.js b/js/service/ItemResource.js
index e6a8e1d2d..33f3efc52 100644
--- a/js/service/ItemResource.js
+++ b/js/service/ItemResource.js
@@ -12,10 +12,12 @@ app.factory('ItemResource', (Resource, $http, BASE_URL) => {
class ItemResource extends Resource {
+
constructor ($http, BASE_URL) {
super($http, BASE_URL);
}
+
receive (value, channel) {
switch (channel) {
@@ -31,25 +33,60 @@ app.factory('ItemResource', (Resource, $http, BASE_URL) => {
}
}
+
getNewestItemId () {
return this.newestItemId;
}
+
getStarredCount () {
return this.starredCount;
}
- markRead (itemId, read=true) {
+
+ star (itemId, star=true) {
+ let item = this.get(itemId);
+ let base = this.BASE_URL;
+ let url = `${base}/items/${item.feedId}/${item.guidHash}/star`;
+
+ item.starred = star;
+
+ return this.http({
+ url: url,
+ method: 'POST',
+ data: {
+ isStarred: star
+ }
+ });
+ }
+
+
+ read (itemId, read=true) {
this.get(itemId).unread = !read;
- //http.get();
+ return this.http({
+ url: `${this.BASE_URL}/items/${itemId}/read`,
+ method: 'POST',
+ data: {
+ isRead: read
+ }
+ });
}
- markFeedRead (feedId) {
- for (let item in this.values.filter(i => i.feedId === feedId)) {
- this.markRead(item);
+
+ keepUnread (itemId) {
+ this.get(itemId).keepUnread = true;
+ return this.read(itemId, false);
+ }
+
+
+ readFeed (feedId, read=true) {
+ for (let item of this.values.filter(i => i.feedId === feedId)) {
+ item.unread = !read;
}
+ return this.http.post(`${this.BASE_URL}/feeds/${feedId}/read`);
}
+
}
return new ItemResource($http, BASE_URL);