//SPDX-FileCopyrightText: 2023 Yury Gubich //SPDX-License-Identifier: GPL-3.0-or-later #include "register.h" #include #include "API/codes.h" Request::Register::Register (const QString& login, const QString& password, const QUrl& baseUrl): Post(createUrl(baseUrl, "/register"), {{"login", login}, {"password", password}}) {} void Request::Register::onSuccess (const QVariantMap& data) { if (!validateResponse(data, resultStructure)) return Request::onError("Malformed response", std::nullopt); Codes::Register code = Codes::convertRegister(data.value("result").toInt()); if (code != Codes::Register::success) return Request::onError("Failed to register: " + Codes::description(code), data); Request::onSuccess(data); } void Request::Register::onError (const QString& err, const std::optional& data) { if (validateResponse(data, resultStructure)) Request::onError(err + ": " + Codes::description(Codes::convertRegister(data->value("result").toInt())), data); else Request::onError(err, data); }