diff options
Diffstat (limited to 'js/app/services/bl/folderbl.coffee')
-rw-r--r-- | js/app/services/bl/folderbl.coffee | 25 |
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, |