UNPKG

mavensmate

Version:

Core APIs that drive MavensMate IDEs for Salesforce1/Force.com

137 lines (125 loc) 3.47 kB
'use strict'; var express = require('express'); var router = express.Router(); var requestStore = require('../lib/request-store'); router.get('/app/new', function(req, res) { if (!req.project) { res.render('error', { error: 'Error: No project attached to this request.' }); } else { res.render('lightning/new.html', { title: 'Create Lightning App', lightningType: 'app' }); } }); router.get('/component/new', function(req, res) { if (!req.project) { res.render('error', { error: 'Error: No project attached to this request.' }); } else { res.render('lightning/new.html', { title: 'Create Lightning Component', lightningType: 'component' }); } }); router.get('/event/new', function(req, res) { if (!req.project) { res.render('error', { error: 'Error: No project attached to this request.' }); } else { res.render('lightning/new.html', { title: 'Create Lightning Event', lightningType: 'event' }); } }); router.get('/interface/new', function(req, res) { if (!req.project) { res.render('error', { error: 'Error: No project attached to this request.' }); } else { res.render('lightning/new.html', { title: 'Create Lightning Interface', lightningType: 'interface' }); } }); router.get('/tokens/new', function(req, res) { if (!req.project) { res.render('error', { error: 'Error: No project attached to this request.' }); } else { res.render('lightning/new.html', { title: 'Create Lightning Tokens', lightningType: 'tokens' }); } }); router.post('/app', function(req, res) { var commandExecutor = req.app.get('commandExecutor'); var request = commandExecutor.execute({ project: req.project, name: 'new-lightning-app', body: req.body, editor: req.editor }); var requestId = requestStore.add(request); return res.send({ status: 'pending', id: requestId }); }); router.post('/component', function(req, res) { var commandExecutor = req.app.get('commandExecutor'); var request = commandExecutor.execute({ project: req.project, name: 'new-lightning-component', body: req.body, editor: req.editor }); var requestId = requestStore.add(request); return res.send({ status: 'pending', id: requestId }); }); router.post('/event', function(req, res) { var commandExecutor = req.app.get('commandExecutor'); var request = commandExecutor.execute({ project: req.project, name: 'new-lightning-event', body: req.body, editor: req.editor }); var requestId = requestStore.add(request); return res.send({ status: 'pending', id: requestId }); }); router.post('/interface', function(req, res) { var commandExecutor = req.app.get('commandExecutor'); var request = commandExecutor.execute({ project: req.project, name: 'new-lightning-interface', body: req.body, editor: req.editor }); var requestId = requestStore.add(request); return res.send({ status: 'pending', id: requestId }); }); router.post('/tokens', function(req, res) { var commandExecutor = req.app.get('commandExecutor'); var request = commandExecutor.execute({ project: req.project, name: 'new-lightning-tokens', body: req.body, editor: req.editor }); var requestId = requestStore.add(request); return res.send({ status: 'pending', id: requestId }); }); module.exports = router;