Files
MIRCertificationManager/message/AddOrUpdateCertificateRequestMessage.h

70 lines
2.0 KiB
C++

//
// Created by mingj on 2020/5/31.
//
#ifndef MIRCERTIFICATIONMANAGER_ADDORUPDATECERTIFICATEREQUESTMESSAGE_H
#define MIRCERTIFICATIONMANAGER_ADDORUPDATECERTIFICATEREQUESTMESSAGE_H
#include "BaseRequestMessage.h"
class AddOrUpdateCertificateRequestMessage : public BaseRequestMessage {
public:
struct AddOrUpdateCertificateRequestData {
std::string prefix = ""; // 用户前缀
std::string certStr = "";
long lifetime = -1;
bool forceUpdate = false;
};
std::string getErrorMessage(int responseCode) override {
switch (responseCode) {
case 0:
return "";
case -1:
return "证书无效";
case -2:
return "存在同名证书,且未覆盖";
default:
return "未知错误";
}
}
BaseRequestMessage *parse(const std::string &jsonStr) override {
Json::Reader reader;
Json::Value root;
reader.parse(jsonStr, root);
this->code = root["Code"].asInt();
this->timestamp = root["Timestamp"].asString();
addOrUpdateCertificateRequestData.prefix = root["Data"]["Prefix"].asString();
addOrUpdateCertificateRequestData.certStr = root["Data"]["CertStr"].asString();
addOrUpdateCertificateRequestData.lifetime = root["Data"]["Lifetime"].asInt64();
addOrUpdateCertificateRequestData.forceUpdate = root["Data"]["ForceUpdate"].asBool();
return this;
}
std::string getCertStr() const {
return addOrUpdateCertificateRequestData.certStr;
}
long getLifetime() const {
return addOrUpdateCertificateRequestData.lifetime;
}
bool isForceUpdate() const {
return addOrUpdateCertificateRequestData.forceUpdate;
}
std::string getPrefix() const {
return addOrUpdateCertificateRequestData.prefix;
}
private:
AddOrUpdateCertificateRequestData addOrUpdateCertificateRequestData;
};
#endif //MIRCERTIFICATIONMANAGER_ADDORUPDATECERTIFICATEREQUESTMESSAGE_H