Files
dwroller/database/scripts/hash_plain_pw.js
T
alex dde3abda55 feat: Add validation and normalization utilities for player records
- 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.
2025-08-16 12:15:32 +02:00

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));