1
0
mirror of https://github.com/fazo96/ipfs-boards synced 2025-01-10 12:24:20 +01:00
ipfs-boards/server/server.js
2015-11-11 12:38:10 +01:00

61 lines
1.2 KiB
JavaScript
Executable File

#!/usr/bin/env node
var ipfs = require('ipfs-api')('localhost','5001')
var BoardsAPI = require('../lib/boards-api.js')
var express = require('express')
var app = express()
var boards = new BoardsAPI(ipfs)
// Serve web app
app.use(express.static('../webapp'))
// Generates a callback function to pass the API response to HTTP
var apiToHandler = function(request,response){
return (function(a,b){
var req = a
var res = b
return function(err,r){
if(err){
res.status(500)
res.send(err)
} else {
if(r.split){
res.send(r)
} else {
res.json(r)
}
}
}
})(request,response)
}
// Create gateways to access the BoardsAPI
app.get('/@:user',(req,res) => {
boards.getProfile(req.params.user,apiToHandler(req,res))
})
app.get('/@:user/:board',(req,res) => {
boards.getBoardSettings(req.params.user,req.params.board,apiToHandler(req,res))
})
//boards.searchUsers()
// Start the web server
function startWebServer(){
// Start http server
app.listen(3000,function(){
console.log('Started Web Server')
})
}
boards.init(function(err){
if(err){
console.log(err)
} else {
startWebServer()
}
})