Skip to content

Commit c7e81c1

Browse files
committed
Warning if favorite not found.
refs #92 Signed-off-by: Eric Wang <[email protected]>
1 parent fc7a09b commit c7e81c1

File tree

2 files changed

+21
-12
lines changed

2 files changed

+21
-12
lines changed

lib/commands/user.js

+4-2
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
var prompt = require('prompt');
33
var sprintf = require('sprintf-js').sprintf;
44

5+
var h = require('../helper');
56
var config = require('../config');
67
var chalk = require('../chalk');
78
var log = require('../log');
@@ -62,9 +63,10 @@ cmd.handler = function(argv) {
6263
// show current user
6364
user = session.getUser();
6465
if (user) {
65-
log.info(chalk.gray(sprintf(' %-20s %s', 'User', 'Host')));
66+
log.info(chalk.gray(sprintf(' %-9s %-20s %s', 'Premium', 'User', 'Host')));
6667
log.info(chalk.gray('-'.repeat(60)));
67-
log.printf(' %s %s',
68+
log.printf(' %s %s %s',
69+
h.prettyText('', user.paid || false),
6870
chalk.yellow(sprintf('%-20s', user.name)),
6971
config.sys.urls.base);
7072
} else

lib/plugins/leetcode.js

+17-10
Original file line numberDiff line numberDiff line change
@@ -380,8 +380,8 @@ plugin.getFavorites = function(cb) {
380380
});
381381
};
382382

383-
plugin.getUser = function(cb) {
384-
log.debug('running leetcode.getUser');
383+
plugin.getUserInfo = function(cb) {
384+
log.debug('running leetcode.getUserInfo');
385385
const opts = makeOpts(config.sys.urls.graphql);
386386
opts.headers.Origin = config.sys.urls.base;
387387
opts.headers.Referer = config.sys.urls.base;
@@ -390,6 +390,7 @@ plugin.getUser = function(cb) {
390390
query: [
391391
'{',
392392
' user {',
393+
' username',
393394
' isCurrentUserPremium',
394395
' }',
395396
'}'
@@ -482,18 +483,24 @@ plugin.signin = function(user, cb) {
482483
});
483484
};
484485

485-
plugin.initUser = function(user, cb) {
486+
plugin.getUser = function(user, cb) {
486487
plugin.getFavorites(function(e, favorites) {
487488
if (!e) {
488-
const favorite = favorites.favorites.private_favorites.find(function(f) {
489-
return f.name === 'Favorite';
490-
});
491-
user.hash = favorite.id_hash;
492-
user.name = favorites.user_name;
489+
const f = favorites.favorites.private_favorites.find(f => f.name === 'Favorite');
490+
if (f) {
491+
user.hash = f.id_hash;
492+
user.name = favorites.user_name;
493+
} else {
494+
log.warn('Favorite not found?');
495+
}
496+
} else {
497+
log.warn('Failed to retrieve user favorites: ' + e);
493498
}
494-
plugin.getUser(function(e, _user) {
499+
500+
plugin.getUserInfo(function(e, _user) {
495501
if (!e) {
496502
user.paid = _user.isCurrentUserPremium;
503+
user.name = _user.username;
497504
}
498505
session.saveUser(user);
499506
return cb(null, user);
@@ -505,7 +512,7 @@ plugin.login = function(user, cb) {
505512
log.debug('running leetcode.login');
506513
plugin.signin(user, function(e, user) {
507514
if (e) return cb(e);
508-
plugin.initUser(user, cb);
515+
plugin.getUser(user, cb);
509516
});
510517
};
511518

0 commit comments

Comments
 (0)