smartcert/dist/cert.classes.cert.js

67 lines
3.9 KiB
JavaScript
Raw Normal View History

"use strict";
2016-10-23 22:35:00 +00:00
const q = require("q");
const lik_1 = require("lik");
// classes
const cert_classes_certificate_1 = require("./cert.classes.certificate");
const cert_classes_letsencrypt_1 = require("./cert.classes.letsencrypt");
const cert_classes_challengehandler_1 = require("./cert.classes.challengehandler");
class Cert {
/**
* Constructor for Cert object
*/
constructor(optionsArg) {
2016-10-23 22:35:00 +00:00
this.domainStringRequestMap = new lik_1.Stringmap();
this.certificateMap = new lik_1.Objectmap();
// set up challengehandler
this._challengeHandler = new cert_classes_challengehandler_1.ChallengeHandler({
cfEmail: optionsArg.cfEmail,
cfKey: optionsArg.cfKey
});
2016-10-23 22:35:00 +00:00
// setup Letsencrypt
this.letsencrypt = new cert_classes_letsencrypt_1.Letsencrypt({
leEnv: optionsArg.leEnv,
sslDir: optionsArg.sslDirPath,
challengeHandler: this._challengeHandler
});
// setup CertRpo
2016-10-24 00:42:45 +00:00
/* this._certRepo = new CertRepo({
2016-10-23 22:35:00 +00:00
sslDirPath: optionsArg.sslDirPath,
gitOriginRepo: optionsArg.gitOriginRepo,
certInstance: this
2016-10-24 00:42:45 +00:00
}) */
}
/**
2016-10-23 22:35:00 +00:00
* adds a Certificate for a given domain
*/
2016-10-23 22:35:00 +00:00
addCertificate(domainNameArg, optionsArg = { force: false }) {
let done = q.defer();
let certificateForDomain = this.certificateMap.find((certificate) => {
return certificate.domainName === domainNameArg;
});
if (certificateForDomain instanceof cert_classes_certificate_1.Certificate) {
certificateForDomain.renew()
.then(done.resolve);
}
else {
2016-10-23 22:35:00 +00:00
certificateForDomain = new cert_classes_certificate_1.Certificate({
certInstance: this,
domainName: domainNameArg
});
certificateForDomain.renew()
.then(done.resolve);
}
return done.promise;
}
2016-10-23 22:35:00 +00:00
/**
* cleans up old certificates
*/
cleanOldCertificates() {
}
2016-10-23 22:35:00 +00:00
/**
* executes the current batch of jobs
*/
deploy() {
}
}
2016-10-23 22:35:00 +00:00
exports.Cert = Cert;
2016-10-24 00:42:45 +00:00
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2VydC5jbGFzc2VzLmNlcnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9jZXJ0LmNsYXNzZXMuY2VydC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsdUJBQXNCO0FBQ3RCLDZCQUEwQztBQUsxQyxVQUFVO0FBQ1YseUVBQXdEO0FBRXhELHlFQUFnRTtBQUNoRSxtRkFBa0U7QUFXbEU7SUFPSTs7T0FFRztJQUNILFlBQVksVUFBbUM7UUFUL0MsMkJBQXNCLEdBQUcsSUFBSSxlQUFTLEVBQUUsQ0FBQTtRQUN4QyxtQkFBYyxHQUFHLElBQUksZUFBUyxFQUFlLENBQUE7UUFVekMsMEJBQTBCO1FBQzFCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLGdEQUFnQixDQUFDO1lBQzFDLE9BQU8sRUFBRSxVQUFVLENBQUMsT0FBTztZQUMzQixLQUFLLEVBQUUsVUFBVSxDQUFDLEtBQUs7U0FDMUIsQ0FBQyxDQUFBO1FBRUYsb0JBQW9CO1FBQ3BCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxzQ0FBVyxDQUFDO1lBQy9CLEtBQUssRUFBRSxVQUFVLENBQUMsS0FBSztZQUN2QixNQUFNLEVBQUUsVUFBVSxDQUFDLFVBQVU7WUFDN0IsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLGlCQUFpQjtTQUMzQyxDQUFDLENBQUE7UUFFRixnQkFBZ0I7UUFDaEI7Ozs7YUFJSztJQUNULENBQUM7SUFFRDs7T0FFRztJQUNILGNBQWMsQ0FBQyxhQUFxQixFQUFFLGFBQWlDLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRTtRQUNuRixJQUFJLElBQUksR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUE7UUFDcEIsSUFBSSxvQkFBb0IsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLFdBQVc7WUFDNUQsTUFBTSxDQUFDLFdBQVcsQ0FBQyxVQUFVLEtBQUssYUFBYSxDQUFBO1FBQ25ELENBQUMsQ0FBQyxDQUFBO1FBQ0YsRUFBRSxDQUFDLENBQUMsb0JBQW9CLFlBQVksc0NBQVcsQ0FBQyxDQUFDLENBQUM7WUFDOUMsb0JBQW9CLENBQUMsS0FBSyxFQUFFO2lCQUN2QixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFBO1FBQzNCLENBQUM7UUFBQyxJQUFJLENBQUMsQ0FBQztZQUNKLG9CQUFvQixHQUFHLElBQUksc0NBQVcsQ0FBQztnQkFDbkMsWUFBWSxFQUFFLElBQUk7Z0JBQ2xCLFVBQVUsRUFBRSxhQUFhO2FBQzVCLENBQUMsQ0FBQTtZQUNGLG9CQUFvQixDQUFDLEtBQUssRUFBRTtpQkFDdkIsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQTtRQUMzQixDQUFDO1FBQ0QsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUE7SUFDdkIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsb0JBQW9CO0lBRXBCLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU07SUFFTixDQUFDO0NBQ0o7QUFwRUQsb0JBb0VDIn0=