99 lines
2.9 KiB
Markdown
99 lines
2.9 KiB
Markdown
# Admin Utilities
|
|
|
|
This folder contains administrative tools and utilities for maintaining the CGW Product Finder application.
|
|
|
|
## 🛠️ Available Tools
|
|
|
|
### fix_default_locations.py
|
|
**Purpose**: Ensures all users have their default location marked as accessible.
|
|
|
|
**Usage**:
|
|
```bash
|
|
cd app/admin
|
|
python fix_default_locations.py
|
|
```
|
|
|
|
**What it does**:
|
|
- Scans all users in `data/users.json`
|
|
- Checks if each user's default location is marked as accessible
|
|
- Automatically fixes any users where the default location is not accessible
|
|
- Reports results for each user
|
|
|
|
**When to use**:
|
|
- After manual edits to users.json
|
|
- After importing users from backup
|
|
- If users report they can't access their default location
|
|
- As a maintenance check
|
|
|
|
### test_password_security.py
|
|
**Purpose**: Demonstrates and tests the password hashing security implementation.
|
|
|
|
**Usage**:
|
|
```bash
|
|
cd app/admin
|
|
python test_password_security.py
|
|
```
|
|
|
|
**What it does**:
|
|
- Demonstrates PBKDF2-SHA256 password hashing
|
|
- Shows security features (iterations, salt, etc.)
|
|
- Verifies password verification works correctly
|
|
- Useful for understanding the security implementation
|
|
|
|
**When to use**:
|
|
- To verify password hashing is working correctly
|
|
- To demonstrate security to stakeholders
|
|
- For educational purposes
|
|
- When troubleshooting password-related issues
|
|
|
|
## 📋 Running Admin Tools
|
|
|
|
All admin tools should be run from within the `app/admin` directory to ensure correct file paths.
|
|
|
|
**Example**:
|
|
```bash
|
|
# Navigate to admin folder
|
|
cd "C:\Users\Work\Desktop\CGW Product Finder\app\admin"
|
|
|
|
# Run a tool
|
|
python fix_default_locations.py
|
|
```
|
|
|
|
## ⚠️ Important Notes
|
|
|
|
- **Backup First**: Always backup `data/users.json` before running utilities that modify data
|
|
- **Test Environment**: Test utilities in a development environment before running in production
|
|
- **File Paths**: These tools assume they're being run from the `app/admin` directory
|
|
- **Python Version**: Requires Python 3.7 or higher
|
|
|
|
## 🔒 Security Considerations
|
|
|
|
- These tools have direct access to user data
|
|
- Do not expose these tools to web-facing directories
|
|
- Keep this folder secure with appropriate file permissions
|
|
- Never commit sensitive user data to version control
|
|
|
|
## 📝 Adding New Admin Tools
|
|
|
|
When adding new administrative tools to this folder:
|
|
|
|
1. Add the Python script file
|
|
2. Update this README with documentation
|
|
3. Include clear usage instructions
|
|
4. Document any data modifications it makes
|
|
5. Include error handling and user feedback
|
|
|
|
## 🐛 Troubleshooting
|
|
|
|
**"File not found" errors**:
|
|
- Ensure you're running from the `app/admin` directory
|
|
- Check that `../data/users.json` exists
|
|
|
|
**Permission denied**:
|
|
- Ensure the application is not running
|
|
- Check file permissions on `data/users.json`
|
|
|
|
**Import errors**:
|
|
- Ensure all required dependencies are installed: `pip install -r ../requirements.txt`
|
|
- Verify Python version: `python --version`
|