fc114d0ec6
Password reset: users with a registered email can request a reset link from the login screen. A one-hour signed token is emailed via SMTP; clicking the link opens a set-new-password form. Tokens are hashed (SHA-256) before storage and invalidated after use. SMTP settings: admin-only panel in the Users modal lets admins configure host, port, encryption, credentials, and from address. Settings persisted in a new key-value settings table. The SMTP password is never returned to the client. Users: email field added to the create/edit form and stored in a new users.email column. Email is used for password reset lookup. Add Account: admins now have a + button in the header that opens the existing setup wizard to add additional checking accounts. Schema: adds password_reset_tokens and settings tables with automatic runtime migrations for existing databases.
27 lines
600 B
JSON
27 lines
600 B
JSON
{
|
|
"name": "ezcheck",
|
|
"version": "0.1.0",
|
|
"description": "Self-hosted check printing web app",
|
|
"main": "src/app.js",
|
|
"scripts": {
|
|
"start": "node src/app.js",
|
|
"dev": "nodemon --exec \"node --env-file=.env\" src/app.js",
|
|
"migrate": "node migrations/import-mdb.js"
|
|
},
|
|
"dependencies": {
|
|
"bcryptjs": "^3.0.3",
|
|
"better-sqlite3": "^9.4.3",
|
|
"express": "^4.18.3",
|
|
"express-session": "^1.19.0",
|
|
"multer": "^2.1.1",
|
|
"nodemailer": "^6.9.14",
|
|
"pdfkit": "^0.15.0"
|
|
},
|
|
"devDependencies": {
|
|
"nodemon": "^3.1.0"
|
|
},
|
|
"engines": {
|
|
"node": ">=20"
|
|
}
|
|
}
|