mavensmate
Version:
Core APIs that drive MavensMate IDEs for Salesforce1/Force.com
51 lines (45 loc) • 1.23 kB
JavaScript
/**
* @file Apex execute anonymous
* @author Joseph Ferraro <@joeferraro>
*/
;
var express = require('express');
var router = express.Router();
var requestStore = require('../lib/request-store');
var logger = require('winston');
// todo: refactor errors
router.get('/new', function(req, res) {
if (!req.project) {
res.render('error', { error: 'Error: No project attached to this request.' });
} else {
var commandExecutor = req.app.get('commandExecutor');
commandExecutor.execute({
name: 'start-logging',
project: req.project,
editor: req.editor
})
.then(function() {
res.render('execute_apex/index.html', {
title: 'Execute Apex'
});
})
.catch(function(err) {
res.render('error', { error: 'Error: '+err.message });
});
}
});
router.post('/', function(req, res) {
var commandExecutor = req.app.get('commandExecutor');
var request = commandExecutor.execute({
project: req.project,
name: 'execute-apex',
body: req.body,
editor: req.editor
});
var requestId = requestStore.add(request);
return res.send({
status: 'pending',
id: requestId
});
});
module.exports = router;