mavensmate
Version:
Core APIs that drive MavensMate IDEs for Salesforce1/Force.com
137 lines (125 loc) • 3.47 kB
JavaScript
'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;