const Koa = require('koa') const Router = require('koa-router') const koaLogger = require('koa-logger') const fbparser = require('./facebook-parser') const verifyKey = process.env.API_KEY || 'mtfos' const app = new Koa() const server = app.listen(3000, () => { console.log(`server start on port ${server.address().port}`) }) const rootRouter = new Router() app.use(koaLogger()) app.use(rootRouter.allowedMethods()) app.use(rootRouter.routes()) rootRouter.get('/getpost', async (c, n) => { let key = c.get('x-mtfos-key') if (key !== verifyKey) c.throw(403, 'verify key not match') let fbid = c.query.fbpage || '' if (typeof fbid !== 'string' || fbid.trim().length === 0) c.throw(400, 'facebook page id format error') fbid = decodeURIComponent(fbid.trim()) let postData = await fbparser.getLastPost(fbid) let resData = {} if (postData !== null) { resData.page = fbid resData.postid = postData.id resData.text = postData.txt resData.time = parseInt(postData.time) resData.link = postData.link } postData = null c.body = { post: resData } }) module.exports = server