Skip to content
This repository was archived by the owner on Jan 18, 2021. It is now read-only.

Commit aa91fee

Browse files
authored
Merge pull request #14 from bschultz/reduce-duplicate-code
Refactor duplicate account "creation" code
2 parents 5b9768b + 9e96dbf commit aa91fee

2 files changed

Lines changed: 41 additions & 54 deletions

File tree

src/controllers/instances/iv.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ class IVInstanceController {
2020
constructor(name, polygon, pokemonList, minLevel, maxLevel, ivQueueLimit) {
2121
this.name = name;
2222
this.polygon = polygon;
23-
this.pokemonList = pokemonList,
23+
this.pokemonList = pokemonList;
2424
this.minLevel = minLevel;
2525
this.maxLevel = maxLevel;
2626
this.ivQueueLimit = ivQueueLimit || 100;

src/models/account.js

Lines changed: 40 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ const db = new MySQLConnector(config.db);
1010
class Account {
1111

1212
/**
13-
* Initalize new Account object.
13+
* Initialize new Account object.
1414
* @param username
1515
* @param password
1616
* @param firstWarningTimestamp
@@ -79,10 +79,41 @@ class Account {
7979
}
8080
}
8181

82+
/**
83+
* @param results
84+
* @returns {Account|null}
85+
*/
86+
static createFromDbResults(results) {
87+
if (results && results.length > 0) {
88+
const result = results[0];
89+
return new Account(
90+
result.username,
91+
result.password,
92+
result.first_warning_timestamp,
93+
result.failed_timestamp,
94+
result.failed,
95+
result.level,
96+
result.last_encounter_lat,
97+
result.last_encounter_lon,
98+
result.last_encounter_time,
99+
result.spins,
100+
result.tutorial,
101+
result.creation_timestamp_ms,
102+
result.warn,
103+
result.warn_expire_ms,
104+
result.warn_message_acknowledged,
105+
result.suspended_message_acknowledged,
106+
result.was_suspended,
107+
result.banned
108+
);
109+
}
110+
return null;
111+
}
112+
82113
/**
83114
* Get new account between minimum and maximum level.
84-
* @param minLevel
85-
* @param maxLevel
115+
* @param minLevel
116+
* @param maxLevel
86117
*/
87118
static async getNewAccount(minLevel, maxLevel) {
88119
let sql = `
@@ -98,34 +129,12 @@ class Account {
98129
`;
99130
let results = await db.query(sql, [minLevel, maxLevel])
100131
.then(x => x)
101-
.catch(err => {
132+
.catch(err => {
102133
console.error('[Account] Failed to get new Account', err);
103134
return null;
104135
});
105-
if (results && results.length > 0) {
106-
const result = results[0];
107-
return new Account(
108-
result.username,
109-
result.password,
110-
result.first_warning_timestamp,
111-
result.failed_timestamp,
112-
result.failed,
113-
result.level,
114-
result.last_encounter_lat,
115-
result.last_encounter_lon,
116-
result.last_encounter_time,
117-
result.spins,
118-
result.tutorial,
119-
result.creation_timestamp_ms,
120-
result.warn,
121-
result.warn_expire_ms,
122-
result.warn_message_acknowledged,
123-
result.suspended_message_acknowledged,
124-
result.was_suspended,
125-
result.banned
126-
);
127-
}
128-
return null;
136+
137+
return Account.createFromDbResults(results);
129138
}
130139

131140
/**
@@ -149,30 +158,8 @@ class Account {
149158
console.error('[Account] Failed to get Account with username', username, 'Error:', err);
150159
return null;
151160
});
152-
if (results && results.length > 0) {
153-
const result = results[0];
154-
return new Account(
155-
result.username,
156-
result.password,
157-
result.first_warning_timestamp,
158-
result.failed_timestamp,
159-
result.failed,
160-
result.level,
161-
result.last_encounter_lat,
162-
result.last_encounter_lon,
163-
result.last_encounter_time,
164-
result.spins,
165-
result.tutorial,
166-
result.creation_timestamp_ms,
167-
result.warn,
168-
result.warn_expire_ms,
169-
result.warn_message_acknowledged,
170-
result.suspended_message_acknowledged,
171-
result.was_suspended,
172-
result.banned
173-
);
174-
}
175-
return null;
161+
162+
return Account.createFromDbResults(results);
176163
}
177164

178165
/**
@@ -440,4 +427,4 @@ class Account {
440427
}
441428

442429
// Export the class
443-
module.exports = Account;
430+
module.exports = Account;

0 commit comments

Comments
 (0)