define(['dojo/_base/Deferred','./api'],function(Deferred,api){ return new (function() { var self = this; var currentUser = null; self.login = function(username,password) { var d = new Deferred(); api.post("login", { username:username, password:password }) .then(function(data) { currentUser = data; d.resolve(data); },function(){ d.reject(); }); return d.promise; }; self.register = function(username,password) { var d = new Deferred(); api.post("register", { username:username, password:password }) .then(function(data) { currentUser = data; d.resolve(data); },function(){ d.reject(); }); return d.promise; }; self.getUser = function(){ return currentUser; }; })(); });