- Implemented `validatePlayer` and `normalizeTabInfo` functions in `database/validate.js` for player data validation and normalization. - Added error handling for required fields and enforced data types and constraints. - Introduced standardization for characteristics and skills. feat: Create script for extracting rules from PDF files - Developed `extract-rules.js` to extract text from PDF rulebooks and categorize rules. - Integrated `pdftotext` for PDF processing and created a searchable rules database. - Implemented rule categorization and indexing for efficient searching. feat: Implement RulesTab component for rule searching - Created `RulesTab.jsx` for searching and displaying rules with filtering options. - Added recent searches and quick reference buttons for user convenience. - Integrated API calls for fetching rules and displaying results dynamically. feat: Add test script for Rules API - Created `test-rules.js` to test the functionality of the Rules API endpoints. - Included tests for search and stats endpoints to ensure proper response handling.
23 lines
690 B
JavaScript
23 lines
690 B
JavaScript
const { playerHelpers } = require('../sqlite-db');
|
|
const bcrypt = require('bcrypt');
|
|
|
|
async function run() {
|
|
const players = playerHelpers.getAll();
|
|
let changed = 0;
|
|
for (const p of players) {
|
|
try {
|
|
if (p.pw && p.pw.length > 0) {
|
|
const hash = await bcrypt.hash(p.pw, 10);
|
|
playerHelpers.update(p.name, { rollerInfo: p.rollerInfo, shopInfo: p.shopInfo, tabInfo: p.tabInfo, pw: '', pwHash: hash });
|
|
changed++;
|
|
console.log('Hashed pw for:', p.name);
|
|
}
|
|
} catch (err) {
|
|
console.error('Failed to hash for', p.name, err);
|
|
}
|
|
}
|
|
console.log('Completed hashing. Total changed:', changed);
|
|
}
|
|
|
|
run().catch(err=>console.error(err));
|