Update sample

pull/15/head^2
ClaraCrazy 2024-09-17 20:56:59 +02:00
parent 99c14e070c
commit 436a13ff14
2 changed files with 52 additions and 0 deletions

1
.gitignore vendored
View File

@ -2,3 +2,4 @@ node_modules
.idea
.DS_Store
.vscode
application/config.js

View File

@ -0,0 +1,51 @@
// Note: Also update app.json and README.md!
const config = {
email: {
domains: process.env.EMAIL_DOMAINS,
deleteMailsOlderThanDays: process.env.EMAIL_DELETE_MAILS_OLDER_THAN_DAYS || 2
},
imap: {
user: process.env.IMAP_USER,
password: process.env.IMAP_PASSWORD,
host: process.env.IMAP_SERVER,
port: process.env.IMAP_PORT || 993,
tls: process.env.IMAP_TLS || true,
authTimeout: process.env.IMAP_AUTHTIMEOUT || 3000,
refreshIntervalSeconds: process.env.IMAP_REFRESH_INTERVAL_SECONDS || 10
},
http: {
port: normalizePort(process.env.HTTP_PORT || '3000'),
branding: process.env.HTTP_BRANDING || ["48hr.email", "CrazyCo", "https://crazyco.xyz"]
},
}
if (!config.imap.user || !config.imap.password || !config.imap.host) {
throw new Error('IMAP is not configured. Use IMAP_* ENV vars.')
}
if (!config.email.domains) {
throw new Error('DOMAINS is not configured. Use ENV vars.')
}
/**
* Normalize a port into a number, string, or false.
*/
function normalizePort(val) {
const port = parseInt(val, 10)
if (isNaN(port)) {
// Named pipe
return val
}
if (port >= 0) {
// Port number
return port
}
return false
}
module.exports = config;