- 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.
11 lines
493 B
JavaScript
11 lines
493 B
JavaScript
const { playerHelpers } = require('../sqlite-db');
|
|
const fs = require('fs');
|
|
const path = require('path');
|
|
|
|
const players = playerHelpers.getAll();
|
|
const outPath = path.join(__dirname, '..', 'backups');
|
|
if (!fs.existsSync(outPath)) fs.mkdirSync(outPath, { recursive: true });
|
|
const file = path.join(outPath, `players-after-clean.${new Date().toISOString().replace(/[:.]/g,'')}.json`);
|
|
fs.writeFileSync(file, JSON.stringify(players, null, 2), 'utf8');
|
|
console.log('Exported players to', file);
|