create Credentials class to specify all credentials there.

This commit is contained in:
Lukas-Heiligenbrunner 2020-02-11 16:42:05 +01:00
parent 2c1e54ade5
commit 0ac9c497ae
5 changed files with 55 additions and 6 deletions

32
inc/Credentials.h Normal file
View File

@ -0,0 +1,32 @@
//
// Created by lukas on 11.02.20.
//
#pragma once
#include <string>
class Credentials {
public:
static const std::string dynuapikey;
static const std::string domainid; //id of the dynu domain
static const std::string domainname;
static const std::string telegramApiKey;
static const std::string chatId;
static bool checkCredentialValidity();
};
const std::string Credentials::dynuapikey = "";
const std::string Credentials::domainid = ""; //id of the dynu domain
const std::string Credentials::domainname = "";
static const std::string Credentials::telegramApiKey = "";
static const std::string Credentials::chatId = "";
bool Credentials::checkCredentialValidity() {
return !(dynuapikey.empty() || domainid.empty() || domainname.empty());
}

View File

@ -4,7 +4,6 @@
#pragma once
#include "API.h"
class DynuAPI : API{
@ -15,9 +14,17 @@ public:
* @return request status
*/
int refreshIp(std::string ip);
private:
const std::string dynuapikey = "88vNpMfDhMM2YYDNfWR1DNYfRX9W6fYg";
const std::string domainid = "8506047"; //id of the dynu domain
const std::string domainname = "luki.dynu.net";
/**
* init Telegram api with apikey and chatid
* @param dynuApiKey Dynu Api key
* @param domainId ID of domain received by Dynu
* @param domainName domainname to refresh
*/
void init(std::string dynuApiKey, std::string domainId, std::string domainName);
private:
std::string dynuapikey;
std::string domainid; //id of the dynu domain
std::string domainname;
};

View File

@ -14,6 +14,7 @@
#include <Logger.h>
#include <IPRefresher.h>
#include <Credentials.h>
void IPRefresher::checkIPAdress(bool force) {
FileLogger logger;
@ -36,10 +37,11 @@ void IPRefresher::checkIPAdress(bool force) {
Logger::message("ip changed! -- from :" + oldip + "to: " + ip);
DynuAPI dynu;
dynu.init(Credentials::dynuapikey,Credentials::domainid,Credentials::domainname);
if (dynu.refreshIp(ip)) {
TelegramAPI tele;
tele.init("717213769:AAHan1nSXhUsxLJAN1Dv8Oc0z8wqwDdYPn4", "618154204");
tele.init(Credentials::telegramApiKey, Credentials::chatId);
tele.sendMessage(oldip + " moved to " + ip);
} else {
//error

View File

@ -25,3 +25,9 @@ int DynuAPI::refreshIp(std:: string ip) {
return 1;
}
}
void DynuAPI::init(std::string dynuApiKey, std::string domainId, std::string domainName) {
this->dynuapikey=dynuApiKey;
this->domainid=domainId;
this->domainname=domainName;
}

View File

@ -2,8 +2,10 @@
#include <IPRefresher.h>
#include <Version.h>
#include <Logger.h>
#include <Credentials.h>
int main(int argc, char *argv[]) {
if(!Credentials::checkCredentialValidity()) return -1;
if (argc > 1) {
std::string firstarg(argv[1]);
if (firstarg == "-h" || firstarg == "--help") {