remove.js 1.53 KB
'use strict';

var args = process.argv.slice(3);
var cli = require('./lib/cli.js');
//var path = require('path');
//var pkgpath = path.join(__dirname, '..', 'package.json');
//var pkgpath = path.join(process.cwd(), 'package.json');

var Flags = require('./lib/flags.js');

Flags.init().then(function({ flagOptions, rc, greenlock, mconf }) {
    var myFlags = {};
    ['subject'].forEach(function(k) {
        myFlags[k] = flagOptions[k];
    });

    cli.parse(myFlags);
    cli.main(function(argList, flags) {
        Flags.mangleFlags(flags, mconf);
        main(argList, flags, rc, greenlock);
    }, args);
});

async function main(_, flags, rc, greenlock) {
    if (!flags.subject) {
        console.error('--subject must be provided as a valid domain');
        process.exit(1);
        return;
    }

    greenlock
        .remove(flags)
        .catch(function(err) {
            console.error();
            console.error('error:', err.message);
            //console.log(err.stack);
            console.error();
            process.exit(1);
        })
        .then(function(site) {
            if (!site) {
                console.info();
                console.info('No config found for', flags.subject);
                console.info();
                process.exit(1);
                return;
            }
            console.info();
            console.info(
                'Deleted config for ' + JSON.stringify(flags.subject) + ':'
            );
            console.info(JSON.stringify(site, null, 2));
            console.info();
        });
}