-
Notifications
You must be signed in to change notification settings - Fork 9
/
Copy pathapp.js
59 lines (47 loc) · 1.38 KB
/
app.js
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
const { App, ExpressReceiver } = require('@slack/bolt')
const express = require('express')
const mongoose = require('mongoose')
const Team = require('./models/team')
const cors = require('cors')
require('dotenv').config()
// Mongoose connection
mongoose.connect(process.env.MONGODB_URI, {
useNewUrlParser: true,
useUnifiedTopology: true
})
const authorizeFn = async ({ teamId, enterpriseId }) => {
return Team.findOne({ teamId, enterpriseId }).then(team => {
return {
botToken: team.accessToken,
botId: team.botId,
botUserId: team.botUserId
}
})
}
const receiver = new ExpressReceiver({ signingSecret: process.env.SLACK_SIGNING_SECRET });
receiver.router.use(express.json());
receiver.router.use(cors());
receiver.router.use(express.static('frontend/build'));
// Initialize app with our signing secret
const app = new App({
authorize: authorizeFn,
signingSecret: process.env.SLACK_SIGNING_SECRET,
receiver
})
receiver.router.post('/', function(req, res) {
console.log('router', req)
res.send(req.body)
})
// router.post('/', function(req, res) {
// console.log('router', req)
// res.send(req.body)
// })
// receiver.app.use('/api', router)
require('./routes')(app, receiver)
require('./commands')(app)
require('./actions')(app)
;(async () => {
// Start app
await app.start(process.env.PORT || 3000)
console.log('⚡️ Bolt app is running!')
})()