feat(auth): email service with stub fallback + html templates

This commit is contained in:
2026-05-20 22:50:22 +02:00
parent 4ef3eaae52
commit 1ba2cab2e8
4 changed files with 143 additions and 0 deletions

21
package-lock.json generated
View File

@@ -2131,6 +2131,16 @@
"undici-types": "~6.21.0"
}
},
"node_modules/@types/nodemailer": {
"version": "8.0.0",
"resolved": "https://registry.npmjs.org/@types/nodemailer/-/nodemailer-8.0.0.tgz",
"integrity": "sha512-fyf8jWULsCo0d0BuoQ75i6IeoHs47qcqxWc7yUdUcV0pOZGjUTTOvwdG1PRXUDqN/8A64yQdQdnA2pZgcdi+cA==",
"dev": true,
"license": "MIT",
"dependencies": {
"@types/node": "*"
}
},
"node_modules/@types/prop-types": {
"version": "15.7.15",
"resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.15.tgz",
@@ -4764,6 +4774,15 @@
"dev": true,
"license": "MIT"
},
"node_modules/nodemailer": {
"version": "8.0.7",
"resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-8.0.7.tgz",
"integrity": "sha512-pkjE4mkBzQjdJT4/UmlKl3pX0rC9fZmjh7c6C9o7lv66Ac6w9WCnzPzhbPNxwZAzlF4mdq4CSWB5+FbK6FWCow==",
"license": "MIT-0",
"engines": {
"node": ">=6.0.0"
}
},
"node_modules/normalize-path": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
@@ -7859,6 +7878,7 @@
"drizzle-orm": "^0.33.0",
"express": "^4.19.0",
"multer": "^1.4.5-lts.1",
"nodemailer": "^8.0.7",
"xlsx": "^0.18.5",
"zod": "^3.23.0"
},
@@ -7868,6 +7888,7 @@
"@types/express": "^4.17.0",
"@types/multer": "^1.4.0",
"@types/node": "^20.0.0",
"@types/nodemailer": "^8.0.0",
"@types/supertest": "^6.0.0",
"drizzle-kit": "^0.24.0",
"supertest": "^7.0.0",