Skip to content

Commit

Permalink
Merge pull request #13 from bryan-m-hughes/timob-11361
Browse files Browse the repository at this point in the history
[TIMOB-11361] Added support for better logout logging
  • Loading branch information
cb1kenobi committed Oct 11, 2012
2 parents 0c2457b + fe1c11e commit 245af28
Showing 1 changed file with 8 additions and 36 deletions.
44 changes: 8 additions & 36 deletions lib/auth.js
Original file line number Diff line number Diff line change
Expand Up @@ -142,7 +142,7 @@ exports.logout = function (callback) {
response = JSON.parse(e.toString());
result = createLoggedOutSessionFile();
if (response.success) {
callback && callback(mix(result, { success: true }));
callback && callback(mix(result, { success: true, alreadyLoggedOut: false }));
} else {
result.error = 'Error logging out from server: ' + response.reason;
callback && callback(result);
Expand All @@ -163,15 +163,15 @@ exports.logout = function (callback) {
callback && callback(result);
});
} else {
callback && callback(mix(session, { success: true }));
callback && callback(mix(session, { success: true, alreadyLoggedOut: true }));
}
} catch(e) { // Invalid session file. This should never happen
result = createLoggedOutSessionFile();
callback && callback(mix(result, { success: true }));
callback && callback(mix(result, { success: true, alreadyLoggedOut: true }));
}
} else { // Create a default (logged out, expired) session file
} else { // Create a default (logged out) session file
result = createLoggedOutSessionFile();
callback && callback(mix(result, { success: true }));
callback && callback(mix(result, { success: true, alreadyLoggedOut: true }));
}
};

Expand All @@ -191,20 +191,11 @@ exports.status = function () {
email: session.data && session.data.email,
cookie: session.cookie
};
if (!session.loggedIn) {
// If we are offline, calculated whether or not we are expired
if (session.offlineExpires) {
result.offlineExpires = session.offlineExpires;
result.expired = result.offlineExpires < Date.now();
} else {
result.expired = true;
}
}
} catch(e) { // Invalid session file. This should never happen
result = mix(createLoggedOutSessionFile(), { expired: true });
result = createLoggedOutSessionFile();
}
} else {
result = mix(createLoggedOutSessionFile(), { expired: true }); // No prior history, create a new logged out file
result = createLoggedOutSessionFile(); // No prior history, create a new logged out file
}

return statusCache = result;
Expand Down Expand Up @@ -261,26 +252,7 @@ exports.getMID = function (callback) {
};

function createLoggedOutSessionFile() {
var offlineExpires,
session,
result = { loggedIn: false };

// Read the existing file to parse out the previous session_allowed_duration, if it exists
if (fs.existsSync(sessionFile)) {
try {
session = JSON.parse(fs.readFileSync(sessionFile));
if (session.loggedIn) {
offlineExpires = session.data && session.data.session_allowed_duration;
}
} catch(e) {}
} else if (!fs.existsSync(titaniumConfigFolder)) {
wrench.mkdirSyncRecursive(titaniumConfigFolder);
}

// Create the new session file
offlineExpires && (result.offlineExpires = Date.now() + offlineExpires * 60 * 60 * 1000);
var result = { loggedIn: false };
fs.writeFileSync(sessionFile, JSON.stringify(result));

// Add the expired flag and return
return result;
}

0 comments on commit 245af28

Please sign in to comment.