var methods = {
// Private
__isLoggedIn: require('./private/is_logged_in'),
__getPreviewUrl: require('./private/get_preview_url'),
__getRemoteURL: require('./private/get_remote_url'),
__hitWithSessionID: require('./private/hit_with_session_id'),
__setCookieHeader: require('./private/set_cookie_header'),
__request: require('./private/request'),
__withSessionID: require('./private/with_session_id'),
// Public
alive: require('./public/alive'),
browse: require('./public/browse'),
copy: require('./public/copy'),
create: require('./public/create'),
createFolder: require('./public/create_folder'),
createRelation: require('./public/create_relation'),
getProfile: require('./public/get_profile'),
login: require('./public/login'),
logout: require('./public/logout'),
move: require('./public/move'),
preview: require('./public/preview'),
remove: require('./public/remove'),
removeRelation: require('./public/remove_relation'),
search: require('./public/search'),
update: require('./public/update'),
updateBulk: require('./public/update_bulk')
}
/**
* @class Elvis
* */
function Elvis(server) {
this.elvisServerURL = server
this.cookieHeader = null
this.sessionID = null
return this
}
Object.keys(methods).forEach(method => {
Elvis.prototype[method] = methods[method]
})
module.exports = {
createClient(server) {
return new Elvis(server)
}
}