summaryrefslogtreecommitdiffstats
path: root/js/app/services/bl/folderbl.coffee
diff options
context:
space:
mode:
Diffstat (limited to 'js/app/services/bl/folderbl.coffee')
-rw-r--r--js/app/services/bl/folderbl.coffee25
1 files changed, 23 insertions, 2 deletions
diff --git a/js/app/services/bl/folderbl.coffee b/js/app/services/bl/folderbl.coffee
index 68031371a..20f545e43 100644
--- a/js/app/services/bl/folderbl.coffee
+++ b/js/app/services/bl/folderbl.coffee
@@ -81,10 +81,31 @@ ItemModel, ShowAll, _ExistsError)->
return @_folderModel.getAll()
- create: (folderName) ->
- if @_folderModel.nameExists(folderName)
+ create: (folderName, onSuccess=null, onFailure=null) ->
+ onSuccess or= ->
+ onFailure or= ->
+
+ if angular.isUndefined(folderName) or folderName.trim() == ''
+ throw new Error()
+
+ folderName = folderName.trim()
+
+ if @_folderModel.getByName(folderName)
throw new _ExistsError()
+ folder =
+ name: folderName
+
+ @_folderModel.add(folder)
+
+ success = (response) =>
+ if response.status == 'error'
+ folder.error = response.msg
+ onFailure()
+ else
+ onSuccess()
+
+ @_persistence.createFolder folderName, 0, success
return new FolderBl(FolderModel, FeedBl, ShowAll, ActiveFeed, Persistence,