60 lines
2.3 KiB
TypeScript
60 lines
2.3 KiB
TypeScript
import * as cors from 'cors'
|
|
import * as express from 'express'
|
|
import { Express } from 'express'
|
|
import { EndpointDefinition } from './api'
|
|
|
|
const PORT = 8080
|
|
|
|
import { initAdmin } from './scripts/script-init'
|
|
initAdmin()
|
|
|
|
import { health } from './health'
|
|
import { transact } from './transact'
|
|
import { changeuserinfo } from './change-user-info'
|
|
import { createuser } from './create-user'
|
|
import { createanswer } from './create-answer'
|
|
import { placebet } from './place-bet'
|
|
import { cancelbet } from './cancel-bet'
|
|
import { sellbet } from './sell-bet'
|
|
import { sellshares } from './sell-shares'
|
|
import { claimmanalink } from './claim-manalink'
|
|
import { createmarket } from './create-contract'
|
|
import { addliquidity } from './add-liquidity'
|
|
import { withdrawliquidity } from './withdraw-liquidity'
|
|
import { creategroup } from './create-group'
|
|
import { resolvemarket } from './resolve-market'
|
|
import { unsubscribe } from './unsubscribe'
|
|
import { stripewebhook, createcheckoutsession } from './stripe'
|
|
|
|
const app = express()
|
|
|
|
const addEndpointRoute = (name: string, endpoint: EndpointDefinition) => {
|
|
const method = endpoint.opts.method.toLowerCase() as keyof Express
|
|
const corsMiddleware = cors({ origin: endpoint.opts.cors })
|
|
const middleware = [express.json(), corsMiddleware]
|
|
app.options(name, corsMiddleware) // preflight requests
|
|
app[method](name, ...middleware, endpoint.handler)
|
|
}
|
|
|
|
addEndpointRoute('/health', health)
|
|
addEndpointRoute('/transact', transact)
|
|
addEndpointRoute('/changeuserinfo', changeuserinfo)
|
|
addEndpointRoute('/createuser', createuser)
|
|
addEndpointRoute('/createanswer', createanswer)
|
|
addEndpointRoute('/placebet', placebet)
|
|
addEndpointRoute('/cancelbet', cancelbet)
|
|
addEndpointRoute('/sellbet', sellbet)
|
|
addEndpointRoute('/sellshares', sellshares)
|
|
addEndpointRoute('/claimmanalink', claimmanalink)
|
|
addEndpointRoute('/createmarket', createmarket)
|
|
addEndpointRoute('/addliquidity', addliquidity)
|
|
addEndpointRoute('/withdrawliquidity', withdrawliquidity)
|
|
addEndpointRoute('/creategroup', creategroup)
|
|
addEndpointRoute('/resolvemarket', resolvemarket)
|
|
addEndpointRoute('/unsubscribe', unsubscribe)
|
|
addEndpointRoute('/stripewebhook', stripewebhook)
|
|
addEndpointRoute('/createcheckoutsession', createcheckoutsession)
|
|
|
|
app.listen(PORT)
|
|
console.log(`Serving functions on port ${PORT}.`)
|