File size: 887 Bytes
e1dafe2
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import express from 'express';
import cors from 'cors';

import { DiscordWebhook } from './discord-webhook.js';
import { messageSchema } from './schemas.js';


/**
 * 
 * @param {DiscordWebhook} discordWebhook 
 * @returns {express.Express}
 */
export function createApp(discordWebhook) {
    const app = express();
    app.disable('x-powered-by');
    app.use(express.json());
    app.use(cors());

    app.post('/submit', async (req, res) => {
        const result = messageSchema.safeParse(req.body);
        if (!result.success) {
            res.status(400).send(result.error.message);
            return;
        }
    
        const sent = await discordWebhook.sendEmbed(result.data);
    
        if (!sent) {
            res.status(500).send('Tu mensaje no se ha podido guardar');
            return;
        }
    
        res.status(201).send('va');
    });

    return app;
}