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

Commit

Permalink
Merge pull request #14 from bschultz/reduce-duplicate-code
Browse files Browse the repository at this point in the history
Refactor duplicate account "creation" code
  • Loading branch information
versx authored Sep 12, 2020
2 parents 5b9768b + 9e96dbf commit aa91fee
Show file tree
Hide file tree
Showing 2 changed files with 41 additions and 54 deletions.
2 changes: 1 addition & 1 deletion src/controllers/instances/iv.js
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ class IVInstanceController {
constructor(name, polygon, pokemonList, minLevel, maxLevel, ivQueueLimit) {
this.name = name;
this.polygon = polygon;
this.pokemonList = pokemonList,
this.pokemonList = pokemonList;
this.minLevel = minLevel;
this.maxLevel = maxLevel;
this.ivQueueLimit = ivQueueLimit || 100;
Expand Down
93 changes: 40 additions & 53 deletions src/models/account.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ const db = new MySQLConnector(config.db);
class Account {

/**
* Initalize new Account object.
* Initialize new Account object.
* @param username
* @param password
* @param firstWarningTimestamp
Expand Down Expand Up @@ -79,10 +79,41 @@ class Account {
}
}

/**
* @param results
* @returns {Account|null}
*/
static createFromDbResults(results) {
if (results && results.length > 0) {
const result = results[0];
return new Account(
result.username,
result.password,
result.first_warning_timestamp,
result.failed_timestamp,
result.failed,
result.level,
result.last_encounter_lat,
result.last_encounter_lon,
result.last_encounter_time,
result.spins,
result.tutorial,
result.creation_timestamp_ms,
result.warn,
result.warn_expire_ms,
result.warn_message_acknowledged,
result.suspended_message_acknowledged,
result.was_suspended,
result.banned
);
}
return null;
}

/**
* Get new account between minimum and maximum level.
* @param minLevel
* @param maxLevel
* @param minLevel
* @param maxLevel
*/
static async getNewAccount(minLevel, maxLevel) {
let sql = `
Expand All @@ -98,34 +129,12 @@ class Account {
`;
let results = await db.query(sql, [minLevel, maxLevel])
.then(x => x)
.catch(err => {
.catch(err => {
console.error('[Account] Failed to get new Account', err);
return null;
});
if (results && results.length > 0) {
const result = results[0];
return new Account(
result.username,
result.password,
result.first_warning_timestamp,
result.failed_timestamp,
result.failed,
result.level,
result.last_encounter_lat,
result.last_encounter_lon,
result.last_encounter_time,
result.spins,
result.tutorial,
result.creation_timestamp_ms,
result.warn,
result.warn_expire_ms,
result.warn_message_acknowledged,
result.suspended_message_acknowledged,
result.was_suspended,
result.banned
);
}
return null;

return Account.createFromDbResults(results);
}

/**
Expand All @@ -149,30 +158,8 @@ class Account {
console.error('[Account] Failed to get Account with username', username, 'Error:', err);
return null;
});
if (results && results.length > 0) {
const result = results[0];
return new Account(
result.username,
result.password,
result.first_warning_timestamp,
result.failed_timestamp,
result.failed,
result.level,
result.last_encounter_lat,
result.last_encounter_lon,
result.last_encounter_time,
result.spins,
result.tutorial,
result.creation_timestamp_ms,
result.warn,
result.warn_expire_ms,
result.warn_message_acknowledged,
result.suspended_message_acknowledged,
result.was_suspended,
result.banned
);
}
return null;

return Account.createFromDbResults(results);
}

/**
Expand Down Expand Up @@ -440,4 +427,4 @@ class Account {
}

// Export the class
module.exports = Account;
module.exports = Account;

0 comments on commit aa91fee

Please sign in to comment.