Example #1
0
exports.add = function( serviceConfig, projectConfig, configFileName, mode ) {
    verbose = mode;
    var path = require('path'),
        pathSep = path.sep,
        view = {};

    var servicePath = projectConfig.servicesRoot + pathSep + serviceConfig.path;

    console.log('Create the "%s/%s" %s-type service with the following URL: %s',
        process.cwd(), servicePath, serviceConfig.type, serviceConfig.uriTemplate);

    if ( generator.createDirectoryTree(servicePath, [], false) ) {
        console.log('%s directory created', servicePath );
        extend(view, extendConfig(serviceConfig));
        var templates = [];
        if (serviceConfig.type === 'OPERATION') {
            templates = [
                "service.yml",
                "postOperation-requestBody.json",
                "postOperation-responseBody.json"
            ];
        } else if (serviceConfig.type === 'COLLECTION') {
            templates = [
                "service.yml",
                "getCollection-responseBody.json",
                "postCollection-requestBody.json",
                "postCollection-responseBody.json"
            ];
        } else if (serviceConfig.type === 'RESOURCE') {
            templates = [
                "service.yml",
                "getResource-responseBody.json",
                "putResource-requestBody.json",
                "putResource-responseBody.json",
                "deleteResource-responseBody.json"
            ];
        }

        templates.forEach(function(template) {
            generator.processTemplate(view, {
                sourceBaseDir: path.join(process.cwd(), 'templates', 'services', serviceConfig.type),
                targetBaseDir: servicePath,
                template: template
            });
        });
    }
    updateProjectConfig(serviceConfig, projectConfig, configFileName);
};
Example #2
0
var generateServiceDoc = function(serviceDesc, context) {

    var templateFileName = path.join(process.cwd(), 'templates', 'docs', 'restapi.html'),
        outFileName = path.join(process.cwd(), 'docs', generateDocFileName(serviceDesc)),
        view = {};
    var relPath = "";
    for (var l=0; l<serviceDesc.contentPath.split('/').length; l++ ) {
        relPath = relPath + ".." + path.sep;
    }
    context.relPath = relPath;

    // console.log('Generate service doc: ' + serviceDesc.name, context.relPath);

    extend(view, context, convertMarkdown(serviceDesc));
    generateDoc(templateFileName, view, outFileName);
};