diff options
Diffstat (limited to 'src/server')
| -rw-r--r-- | src/server/routes/slack.js | 40 | 
1 files changed, 25 insertions, 15 deletions
| diff --git a/src/server/routes/slack.js b/src/server/routes/slack.js index 5dc7047..abd0154 100644 --- a/src/server/routes/slack.js +++ b/src/server/routes/slack.js @@ -1,24 +1,34 @@  const express = require('express')  const router = express.Router() +const getUserIndex = require('../lib/getUserIndex') +  router.all('/', function (req, res, next) { -  if (!/^[0-9]+$/.test(req.body.text)) { +  getUserIndex().then(users => { +    const query = req.query.text +    const user = +      users.filter(user => user.value === query)[0] + +    if (!user) { +      res.json({ +        "response_type": "ephemeral", +        "mrkdwn": true, +        "text": `Sorry, I tried my best, but I couldn't find _${query}_` +      }) +      return +    } +      res.json({ -      "response_type": "ephemeral", -      "text": "Only student id's are currently supported, more comming soon!" +      "response_type": "in_channel", +      "text": `Here is the schedule of _${query}_`, +      "mrkdwn": true, +      "attachments": [ +        { +          "fallback": `https://beta.rooster.hetmml.nl/${user.type}/${user.value}`, +          "image_url": `https://beta.rooster.hetmml.nl/get/${user.type}/${user.value}.png` +        } +      ]      }) -    return -  } -  res.json({ -    "response_type": "in_channel", -    "text": `Here is the schedule of _${req.body.text}_`, -    "mrkdwn": true, -    "attachments": [ -      { -        "fallback": `https://beta.rooster.hetmml.nl/s/${req.body.text}`, -        "image_url": `https://beta.rooster.hetmml.nl/get/s/${req.body.text}.png` -      } -    ]    })  }) | 
