summaryrefslogtreecommitdiffstats
path: root/js/app/services/businesslayer/feedbusinesslayer.coffee
diff options
context:
space:
mode:
authorBernhard Posselt <dev@bernhard-posselt.com>2014-05-15 03:00:53 +0200
committerBernhard Posselt <dev@bernhard-posselt.com>2014-05-15 03:00:53 +0200
commit3ce894af1e72c9488b8cb3340fd61656122f7d50 (patch)
treea603121e8b1e860201370399f8095121cd9c6bf7 /js/app/services/businesslayer/feedbusinesslayer.coffee
parent10d76fff64363ea59d916b550854cf3540dadfbc (diff)
use markdown, refactor js
Diffstat (limited to 'js/app/services/businesslayer/feedbusinesslayer.coffee')
-rw-r--r--js/app/services/businesslayer/feedbusinesslayer.coffee194
1 files changed, 0 insertions, 194 deletions
diff --git a/js/app/services/businesslayer/feedbusinesslayer.coffee b/js/app/services/businesslayer/feedbusinesslayer.coffee
deleted file mode 100644
index c82b7de87..000000000
--- a/js/app/services/businesslayer/feedbusinesslayer.coffee
+++ /dev/null
@@ -1,194 +0,0 @@
-###
-
-ownCloud - News
-
-@author Bernhard Posselt
-@copyright 2012 Bernhard Posselt dev@bernhard-posselt.com
-
-This library is free software; you can redistribute it and/or
-modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
-License as published by the Free Software Foundation; either
-version 3 of the License, or any later version.
-
-This library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU AFFERO GENERAL PUBLIC LICENSE for more details.
-
-You should have received a copy of the GNU Affero General Public
-License along with this library. If not, see <http://www.gnu.org/licenses/>.
-
-###
-
-
-angular.module('News').factory 'FeedBusinessLayer',
-['_BusinessLayer', 'Settings', 'Persistence', 'ActiveFeed', 'FeedType',
-'ItemModel', 'FeedModel', 'NewLoading', '_ExistsError', 'Utils', '$rootScope',
-'NewestItem',
-(_BusinessLayer, Settings, Persistence, ActiveFeed, FeedType, ItemModel,
-FeedModel, NewLoading, _ExistsError, Utils, $rootScope, NewestItem)->
-
- class FeedBusinessLayer extends _BusinessLayer
-
- constructor: (@_settings, @_feedModel, persistence, activeFeed, feedType,
- itemModel, @_newLoading, @_utils, $rootScope,
- @_newestItem) ->
- super(activeFeed, persistence, itemModel, feedType.Feed, $rootScope)
- @_feedType = feedType
-
-
- getUnreadCount: (feedId) ->
- @_feedModel.getFeedUnreadCount(feedId)
-
-
- getFeedsOfFolder: (folderId) ->
- return @_feedModel.getAllOfFolder(folderId)
-
-
- getFolderUnreadCount: (folderId) ->
- @_feedModel.getFolderUnreadCount(folderId)
-
-
- getAllUnreadCount: ->
- return @_feedModel.getUnreadCount()
-
-
- delete: (feedId) ->
- feed = @_feedModel.removeById(feedId)
-
- data =
- undoCallback: =>
- @_persistence.restoreFeed feedId, =>
- @_persistence.getAllFeeds()
- caption: feed.title
-
- @_$rootScope.$broadcast 'undoMessage', data
- @_persistence.deleteFeed(feedId)
-
-
- renameFeed: (feedId, feedTitle) ->
- feed = @_feedModel.getById(feedId)
- feed.editing = false
-
- if angular.isDefined(feed) and feedTitle != ""
- @_persistence.renameFeed(feedId, feedTitle)
-
-
- markRead: (feedId) ->
- feed = @_feedModel.getById(feedId)
- newestItemId = @_newestItem.getId()
-
- if angular.isDefined(feed) and newestItemId != 0
- feed.unreadCount = 0
- for item in @_itemModel.getAll()
- if item.feedId == feed.id
- item.setRead()
- @_persistence.setFeedRead(feedId, newestItemId)
-
-
- getNumberOfFeeds: ->
- return @_feedModel.size()
-
- noFeeds: ->
- return @getNumberOfFeeds() == 0
-
-
- isVisible: (feedId) ->
- if @isActive(feedId) or @_settings.get('showAll')
- return true
- else
- return @_feedModel.getFeedUnreadCount(feedId) > 0
-
-
- move: (feedId, folderId) ->
- feed = @_feedModel.getById(feedId)
- if angular.isDefined(feed) and feed.folderId != folderId
- @_feedModel.update({
- id: feedId,
- folderId: folderId,
- url: feed.url})
- @_persistence.moveFeed(feedId, folderId)
-
-
- setShowAll: (showAll) ->
- @_settings.set('showAll', showAll)
-
- # TODO: this callback is not tested with a unittest
- callback = =>
- @_itemModel.clear()
- @_newLoading.increase()
- @_persistence.getItems(
- @_activeFeed.getType(),
- @_activeFeed.getId(),
- 0,
- =>
- @_newLoading.decrease()
- )
-
- @_persistence.setSettings(@_settings.getSettings(), callback)
-
-
- isShowAll: ->
- return @_settings.get('showAll')
-
-
- getAll: ->
- return @_feedModel.getAll()
-
-
- getFeedLink: (feedId) ->
- feed = @_feedModel.getById(feedId)
- if angular.isDefined(feed)
- return feed.link
-
-
- create: (url, parentId=0, onSuccess=null, onFailure=null) ->
- onSuccess or= ->
- onFailure or= ->
- parentId = parseInt(parentId, 10)
-
- if angular.isUndefined(url) or url.trim() == ''
- throw new Error('Url must not be empty')
-
- url = url.trim()
- if url.indexOf('http') != 0
- url = 'http://' + url
-
- if @_feedModel.getByUrl(url)
- throw new _ExistsError('Exists already')
-
- feed =
- title: url
- url: url
- folderId: parentId
- unreadCount: 0
- faviconLink: 'url('+@_utils.imagePath('core', 'loading.gif')+')'
-
- @_feedModel.add(feed)
-
- success = (response) ->
- onSuccess(response)
-
- failure = (response) ->
- feed.error = response.message
- onFailure()
-
- @_persistence.createFeed(url, parentId, success, failure)
-
-
- markErrorRead: (url) ->
- @_feedModel.removeByUrl(url)
-
-
- importArticles: (json, callback) ->
- onSuccess = (response) ->
- callback()
-
- @_persistence.importArticles(json, onSuccess)
-
-
- return new FeedBusinessLayer(Settings, FeedModel, Persistence, ActiveFeed,
- FeedType, ItemModel, NewLoading, Utils,
- $rootScope, NewestItem)
-
-] \ No newline at end of file