]>
Commit | Line | Data |
---|---|---|
a4101923 C |
1 | import * as express from 'express' |
2 | import { asyncMiddleware, contactAdministratorValidator } from '../../../middlewares' | |
3 | import { Redis } from '../../../lib/redis' | |
4 | import { Emailer } from '../../../lib/emailer' | |
5 | import { ContactForm } from '../../../../shared/models/server' | |
6 | ||
7 | const contactRouter = express.Router() | |
8 | ||
9 | contactRouter.post('/contact', | |
10 | asyncMiddleware(contactAdministratorValidator), | |
11 | asyncMiddleware(contactAdministrator) | |
12 | ) | |
13 | ||
14 | async function contactAdministrator (req: express.Request, res: express.Response) { | |
15 | const data = req.body as ContactForm | |
16 | ||
4e9fa5b7 | 17 | await Emailer.Instance.addContactFormJob(data.fromEmail, data.fromName, data.subject, data.body) |
a4101923 C |
18 | |
19 | await Redis.Instance.setContactFormIp(req.ip) | |
20 | ||
21 | return res.status(204).end() | |
22 | } | |
23 | ||
24 | // --------------------------------------------------------------------------- | |
25 | ||
26 | export { | |
27 | contactRouter | |
28 | } |