@@ -10,7 +10,7 @@ const db = new MySQLConnector(config.db);
1010class 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