| 1218 | } |
| 1219 | |
| 1220 | async savePropertyCategories(categories) { |
| 1221 | const insertSQL = ` |
| 1222 | INSERT OR REPLACE INTO property_categories |
| 1223 | (property_name, category, sub_category, description, performance_impact, best_practices, common_pitfalls, browser_notes) |
| 1224 | VALUES (?, ?, ?, ?, ?, ?, ?, ?) |
| 1225 | `; |
| 1226 | |
| 1227 | for (const category of categories) { |
| 1228 | await new Promise((resolve, reject) => { |
| 1229 | this.db.run( |
| 1230 | insertSQL, |
| 1231 | [ |
| 1232 | category.property_name, |
| 1233 | category.category, |
| 1234 | category.sub_category, |
| 1235 | category.description, |
| 1236 | category.performance_impact, |
| 1237 | category.best_practices, |
| 1238 | category.common_pitfalls, |
| 1239 | category.browser_notes |
| 1240 | ], |
| 1241 | function(err) { |
| 1242 | if (err) reject(err); |
| 1243 | else resolve(); |
| 1244 | } |
| 1245 | ); |
| 1246 | }); |
| 1247 | } |
| 1248 | } |
| 1249 | |
| 1250 | async savePerformanceAnalysis(issueNumber, analysis) { |
| 1251 | const insertSQL = ` |