/**
* Copyright (c) 2019 Oracle and/or its affiliates. All rights reserved.
* Licensed under the Universal Permissive License v 1.0 as shown at http://oss.oracle.com/licenses/upl.
*/
/* globals app, module, __dirname */
/* jshint esversion: 6 */
/**
*/
/**
* Map "/connector/rest/api*" URL requests to the corresponding function in {@link SampleConnector}
* @constructor
* @alias SampleConnectorRouter
*/
var express = require('express'),
connector = require('./sampleConnector.js'),
router = express.Router();
//
// GET requests
//
router.get('/connector/rest/api', (req, res) => {
connector.getApiVersions(req, res);
});
router.get('/connector/rest/api/v1/server', (req, res) => {
connector.getServer(req, res);
});
router.get('/connector/rest/api/v1/job/:id/translation', (req, res) => {
connector.getTranslation(req, res);
});
router.get('/connector/rest/api/v1/job/:id', (req, res) => {
connector.getJob(req, res);
});
router.get('/connector/rest/api/v1/job', (req, res) => {
connector.getJobs(req, res);
});
// handle unsupported GET requests
router.get('/*', (req, res) => {
console.log('*** Sample Connector GET: ' + req.url);
res.writeHead(404, "Unsupported API");
res.end();
});
//
// POST requests
//
router.post('/connector/rest/api/v1/authorization/basicAuthorization', (req, res) => {
connector.validateBasicAuthorization(req, res);
});
router.post('/connector/rest/api/v1/job', (req, res) => {
connector.createJob(req, res);
});
router.post('/connector/rest/api/v1/job/:id/translate', (req, res) => {
connector.translateJob(req, res);
});
router.post('/connector/rest/api/v1/job/:id/refreshTranslation', (req, res) => {
connector.refreshTranslation(req, res);
});
// handle unsupported POST requests
router.post('/*', (req, res) => {
console.log('*** Sample Connector Server POST: ' + req.url);
res.writeHead(404, "Unsupported API");
res.end();
});
//
// DELETE requests
//
router.delete('/connector/rest/api/v1/job/:id', (req, res) => {
connector.deleteJob(req, res);
});
// Export the router
module.exports = router;