// SPDX-License-Identifier: GPL-3.0-or-later

// This file is auto-generated by scripts/generate_nymea_api.py
// Any changes made here will be lost when the files are regenerated.
// Do not edit manually.

#pragma once

#include "apiutils.h"
#include "param.h"

namespace nymea::api {

class ThingDescriptor {
public:
    // wire: 'description' (required)
    QString description{};
    // wire: 'id' (required)
    QUuid id{};
    // wire: 'thingId' (optional, required)
    std::optional<QUuid> thingId;
    // wire: 'params' (required)
    ParamList params{};
    // wire: 'thingClassId' (required)
    QUuid thingClassId{};
    // wire: 'title' (required)
    QString title{};

    static ThingDescriptor fromJson(const QJsonObject &object);
    QJsonObject toJson() const;
};

} // namespace nymea::api
