summaryrefslogtreecommitdiffstats
path: root/js/app/services/models/itemmodel.coffee
diff options
context:
space:
mode:
Diffstat (limited to 'js/app/services/models/itemmodel.coffee')
-rw-r--r--js/app/services/models/itemmodel.coffee123
1 files changed, 0 insertions, 123 deletions
diff --git a/js/app/services/models/itemmodel.coffee b/js/app/services/models/itemmodel.coffee
deleted file mode 100644
index 7da924be3..000000000
--- a/js/app/services/models/itemmodel.coffee
+++ /dev/null
@@ -1,123 +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 'ItemModel',
-['_Model', '_MinimumQuery', '_MaximumQuery', 'StatusFlag',
-(_Model, _MinimumQuery, _MaximumQuery, StatusFlag) ->
-
- class ItemModel extends _Model
-
-
- constructor: ->
- @_guidFeedIdHash = {}
- super()
-
-
- clear: ->
- @_guidFeedIdHash = {}
- super()
-
-
- # items have two unique fields: feed_id and guidhash
- # in case we get updated items with the same two fields we
- # also need to update the field
- add: (data, clearCache=true) ->
- @_bindMethods(data)
-
- hash = data.feedId + '_' + data.guidHash
- entry = @_guidFeedIdHash[hash]
-
- # update entry if exists with same feedid and guidhash
- if angular.isDefined(entry)
- @update(data, clearCache)
- else
- @_guidFeedIdHash[hash] = data
- super(data, clearCache)
-
-
- _bindMethods: (data) ->
- data.isRead = ->
- return !((@status & StatusFlag.UNREAD) == StatusFlag.UNREAD)
- data.setRead = ->
- @status &= ~StatusFlag.UNREAD
- data.setUnread = ->
- @status |= StatusFlag.UNREAD
- data.isStarred = ->
- return (@status & StatusFlag.STARRED) == StatusFlag.STARRED
- data.setStarred = ->
- @status |= StatusFlag.STARRED
- data.setUnstarred = ->
- @status &= ~StatusFlag.STARRED
-
-
- update: (data, clearCache=true) ->
- hash = data.feedId + '_' + data.guidHash
- entry = @_guidFeedIdHash[hash]
-
- # first update id that could have changed
- delete @_dataMap[entry.id]
- @_dataMap[data.id] = entry
-
- # now copy over the elements data attrs
- for key, value of data
- if key == 'feedId' or key == 'guidHash'
- continue
- else
- entry[key] = value
-
- super(entry, clearCache)
-
-
- getByGuidHashAndFeedId: (guidHash, feedId) ->
- hash = feedId + '_' + guidHash
- return @_guidFeedIdHash[hash]
-
-
- removeById: (id) ->
- item = @getById(id)
- hash = item.feedId + '_' + item.guidHash
- delete @_guidFeedIdHash[hash]
- super(id)
-
-
- getLowestId: ->
- query = new _MinimumQuery('id')
- lowestId = @get(query)
-
- if angular.isDefined(lowestId)
- return lowestId.id
- else
- return 0
-
-
- getLastModified: ->
- query = new _MaximumQuery('lastModified')
- lastModified = @get(query)
-
- if angular.isDefined(lastModified)
- return lastModified.lastModified
- else
- return 0
-
-
- return new ItemModel()
-] \ No newline at end of file