UNPKG

1.62 kBJavaScriptView Raw
1#!/usr/bin/env node
2
3const express = require('express'),
4 bodyParser = require('body-parser'),
5 multer = require('multer'),
6 upload = multer(),
7 Gateway = require('./lib/proxy'),
8 logger = require('./lib/logger');
9
10const port = process.env.PORT || 3333;
11const app = express();
12
13const gateway = new Gateway({
14 url: process.env.MARKETPLACE_URL,
15 token: process.env.MARKETPLACE_TOKEN,
16 email: process.env.MARKETPLACE_EMAIL
17});
18
19app.use(bodyParser.json());
20app.use('/gui/editor', express.static(__dirname + '/gui/editor/public'));
21app.use('/gui/graphql', express.static(__dirname + '/gui/graphql/public'));
22
23// GRAPHQL
24const graphqlRouting = (req, res) => {
25 gateway
26 .graph(req.body)
27 .then(body => res.send(body))
28 .catch(error => res.send(error));
29};
30
31app.post('/graphql', graphqlRouting);
32app.post('/api/graph', graphqlRouting);
33
34// SYNC
35app.put(
36 '/api/marketplace_builder/marketplace_releases/sync',
37 upload.fields([{ name: 'path' }, { name: 'marketplace_builder_file_body' }]),
38 (req, res) => {
39 const formData = {
40 path: req.body.path,
41 marketplace_builder_file_body: req.files.marketplace_builder_file_body[0].buffer
42 };
43
44 gateway
45 .sync(formData)
46 .then(body => res.send(body))
47 .catch(error => res.send(error));
48 }
49);
50
51app.listen(port, err => {
52 if (err) {
53 logger.Error(`Something wrong happened when trying to run Express server: ${err}`);
54 }
55
56 logger.Debug(`Server is listening on ${port}`);
57 logger.Success(`Resources Editor: http://localhost:${port}/gui/editor`);
58 logger.Success(`GraphQL Browser: http://localhost:${port}/gui/graphql`);
59});