From 9963975875836f768cc64f3a9dc00a1f33d9c07f Mon Sep 17 00:00:00 2001 From: Bernhard Posselt Date: Thu, 11 Apr 2013 19:34:24 +0200 Subject: added more code for adding feeds and folders --- js/app/services/bl/feedbl.coffee | 36 ++++++++++++++++++++++++++++++++++-- 1 file changed, 34 insertions(+), 2 deletions(-) (limited to 'js/app/services/bl/feedbl.coffee') diff --git a/js/app/services/bl/feedbl.coffee b/js/app/services/bl/feedbl.coffee index b0928cccb..68b288297 100644 --- a/js/app/services/bl/feedbl.coffee +++ b/js/app/services/bl/feedbl.coffee @@ -23,9 +23,9 @@ License along with this library. If not, see . angular.module('News').factory 'FeedBl', ['_Bl', 'ShowAll', 'Persistence', 'ActiveFeed', 'FeedType', 'ItemModel', -'FeedModel', 'NewLoading', +'FeedModel', 'NewLoading', '_ExistsError', (_Bl, ShowAll, Persistence, ActiveFeed, FeedType, ItemModel, FeedModel, -NewLoading) -> +NewLoading, _ExistsError) -> class FeedBl extends _Bl @@ -125,6 +125,38 @@ NewLoading) -> return feed.link + create: (url, parentId=0, onSuccess=null, onFailure=null) -> + onSuccess or= -> + onFailure or= -> + + if angular.isUndefined(url) or url.trim() == '' + throw new Error() + + url = url.trim() + urlHash = hex_md5(url) + + if @_feedModel.getByUrlHash(urlHash) + throw new _ExistsError() + + feed = + title: url.replace( + /^(?:https?:\/\/)?(?:www\.)?([a-z0-9_\-\.]+)(?:\/.*)?$/gi, + '$1') + url: url + urlHash: urlHash + + @_feedModel.add(feed) + + success = (response) => + if response.status == 'error' + feed.error = response.msg + onFailure() + else + onSuccess() + + @_persistence.createFeed url, parentId, success + + return new FeedBl(ShowAll, FeedModel, Persistence, ActiveFeed, FeedType, ItemModel, NewLoading) -- cgit v1.2.3