// model-header.mustache

// licenseInfo.mustache

/**
 * Libre Graph API
 * Libre Graph is a free API for cloud collaboration inspired by the MS Graph API.
 *
 * The version of the OpenAPI document: v1.0.4
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */

/*
 * OAIAppRoleAssignment.h
 *
 * 
 */

#ifndef OAIAppRoleAssignment_H
#define OAIAppRoleAssignment_H

#include <QJsonObject>

#include <QDateTime>
#include <QString>

#include "OAIEnum.h"
#include "OAIObject.h"

namespace OpenAPI {


class OAIAppRoleAssignmentPrivate;

class OAIAppRoleAssignment : public OAIObject {
public:
    OAIAppRoleAssignment();
    OAIAppRoleAssignment(const OAIAppRoleAssignment &other);
    OAIAppRoleAssignment(QString json);
    ~OAIAppRoleAssignment() override;

    QString asJson() const override;
    QJsonObject asJsonObject() const override;
    void fromJsonObject(QJsonObject json) override;
    void fromJson(QString jsonString) override;

    QString getId() const;
    void setId(const QString &id);
    bool is_id_Set() const;
    bool is_id_Valid() const;

    QDateTime getDeletedDateTime() const;
    void setDeletedDateTime(const QDateTime &deleted_date_time);
    bool is_deleted_date_time_Set() const;
    bool is_deleted_date_time_Valid() const;

    QString getAppRoleId() const;
    void setAppRoleId(const QString &app_role_id);
    bool is_app_role_id_Set() const;
    bool is_app_role_id_Valid() const;

    QDateTime getCreatedDateTime() const;
    void setCreatedDateTime(const QDateTime &created_date_time);
    bool is_created_date_time_Set() const;
    bool is_created_date_time_Valid() const;

    QString getPrincipalDisplayName() const;
    void setPrincipalDisplayName(const QString &principal_display_name);
    bool is_principal_display_name_Set() const;
    bool is_principal_display_name_Valid() const;

    QString getPrincipalId() const;
    void setPrincipalId(const QString &principal_id);
    bool is_principal_id_Set() const;
    bool is_principal_id_Valid() const;

    QString getPrincipalType() const;
    void setPrincipalType(const QString &principal_type);
    bool is_principal_type_Set() const;
    bool is_principal_type_Valid() const;

    QString getResourceDisplayName() const;
    void setResourceDisplayName(const QString &resource_display_name);
    bool is_resource_display_name_Set() const;
    bool is_resource_display_name_Valid() const;

    QString getResourceId() const;
    void setResourceId(const QString &resource_id);
    bool is_resource_id_Set() const;
    bool is_resource_id_Valid() const;

    virtual bool isSet() const override;
    virtual bool isValid() const override;

private:
    void initializeModel();
    Q_DECLARE_PRIVATE(OAIAppRoleAssignment)
    QSharedPointer<OAIAppRoleAssignmentPrivate> d_ptr;
};

} // namespace OpenAPI

Q_DECLARE_METATYPE(OpenAPI::OAIAppRoleAssignment)

#endif // OAIAppRoleAssignment_H
