open = require('open') async = require('async') auth = require('../auth/auth') authHooks = require('../hooks/auth') widgets = require('../widgets/widgets') config = require('../config') exports.login = (credentials) -> async.waterfall [ (callback) -> if credentials? return auth.parseCredentials(credentials, callback) else return widgets.login(callback) (credentials, callback) -> auth.login(credentials, callback) ], (error) -> throw error if error? exports.logout = authHooks.failIfNotLoggedIn -> auth.logout() exports.signup = -> open(config.urls.signup)