"use strict"; var MFS = require("greenlock-manager-fs"); // TODO @greenlock/manager-cloud var Manager = module.exports; Manager.create = function(opts) { var mfs = MFS.create(opts); var manager = {}; // // REQUIRED (basic issuance) // if (mfs.get) { manager.get = async function({ servername, wildname }) { // (optional) `wildcard` may or may not exist // if *you* support wildcard domains, *you* should handle them return mfs.get({ servername, wildname }); }; } else { // (optional) // because the current version doesn't have get() manager.get = createGetFromFind(); } // // REQUIRED (basic issuance) // manager.set = async function(opts) { return mfs.set(opts); }; // // Optional (Fully Automatic Renewal) // manager.find = async function(opts) { // { subject, servernames, altnames, renewBefore } return mfs.find(opts); }; // // Optional (Special Remove Functionality) // The default behavior is to set `deletedAt` // //manager.remove = async function(opts) { // return mfs.remove(opts); //}; // // Optional (special settings save) // Implemented here because this module IS the fallback // manager.defaults = async function(opts) { return mfs.defaults(opts); }; // // Optional (for common deps and/or async initialization) // manager.init = async function(deps) { return mfs.init(deps); }; return manager; // // IGNORE // Backwards compat for the first versions of greenlock-manager-fs // function createGetFromFind() { return async function({ servername, wildname }) { var servernames = [servername]; if (wildname) { servernames.push(wildname); } return mfs .find({ servernames: servernames, // because the original manager used altnames here altnames: servernames }) .then(function(sites) { return sites[0] || null; }); }; } };