start implementing validity check

This commit is contained in:
Philipp Kunz 2016-06-23 03:46:37 +02:00
parent 5c87851ab8
commit 645e46dc01

View File

@ -2,18 +2,18 @@ import * as plugins from "./cert.plugins";
import * as paths from "./cert.paths"; import * as paths from "./cert.paths";
export class Cert { export class Cert {
cfEmail:string; cfEmail: string;
cfKey:string; cfKey: string;
sslDir:string; sslDir: string;
certificatesPresent; certificatesPresent;
certificatesValid; certificatesValid;
gitOriginRepo; gitOriginRepo;
constructor(optionsArg:{ constructor(optionsArg: {
cfEmail:string, cfEmail: string,
cfKey:string, cfKey: string,
sslDir:string, sslDir: string,
gitOriginRepo?:string gitOriginRepo?: string
}){ }) {
this.cfEmail = optionsArg.cfEmail; this.cfEmail = optionsArg.cfEmail;
this.cfKey = optionsArg.cfKey; this.cfKey = optionsArg.cfKey;
this.sslDir = optionsArg.sslDir; this.sslDir = optionsArg.sslDir;
@ -22,27 +22,36 @@ export class Cert {
cfEmail: this.cfEmail, cfEmail: this.cfEmail,
cfKey: this.cfKey cfKey: this.cfKey
} }
plugins.smartfile.memory.toFsSync(JSON.stringify(config),{fileName:"config.json",filePath:plugins.path.join(__dirname,"assets/")}); plugins.smartfile.memory.toFsSync(JSON.stringify(config), { fileName: "config.json", filePath: plugins.path.join(__dirname, "assets/") });
}; };
getDomainCert(domainNameArg:string){ getDomainCert(domainNameArg: string,optionsArg:{force:boolean}) {
let done = plugins.q.defer(); let done = plugins.q.defer();
plugins.shelljs.exec("chmod 700 " + paths.letsencryptSh); if (!checkDomainStillValid(domainNameArg) || optionsArg.force) {
plugins.shelljs.exec("chmod 700 " + paths.certHook); plugins.shelljs.exec("chmod 700 " + paths.letsencryptSh);
plugins.shelljs.exec("bash -c \"" + paths.letsencryptSh + " -c -d " + domainNameArg + " -t dns-01 -k " + paths.certHook + " -o "+ paths.sslDir + "\""); plugins.shelljs.exec("chmod 700 " + paths.certHook);
done.resolve(); plugins.shelljs.exec("bash -c \"" + paths.letsencryptSh + " -c -d " + domainNameArg + " -t dns-01 -k " + paths.certHook + " -o " + paths.sslDir + "\"");
done.resolve();
} else {
plugins.beautylog.info("certificate for " + domainNameArg + " is still valid! Not fetching new one!");
done.resolve();
}
return done.promise; return done.promise;
}; };
} }
class Certificate { class Certificate {
domainName:string; domainName: string;
creationDate:Date; creationDate: Date;
expiryDate:Date; expiryDate: Date;
constructor(){ constructor() {
}; };
} }
let checkDomainStillValid = (domainNameArg: string): boolean => {
return false;
}
let updateSslDir = () => { let updateSslDir = () => {
} }