1
0
Fork 0
mirror of https://github.com/HenkKalkwater/harbour-sailfin.git synced 2025-09-04 01:42:44 +00:00

[2/3] update openapi spec: generate code

This updates the openapi spec and invokes the code generator to update
to the Jellyfin 10.10.6 API.

A big motivation to do this was because some mandatory fields have been
made obsolete and are no longer included in responses. Sailfin tries to
deserialize these mandatory fields and fails deserializing. It was evident
in the list of sessions to control.

The failing was a bit too gracefully in my opinion, it did not even show
that an error occurred, nor was it logged anywhere. It took some time
to debug.
This commit is contained in:
Chris Josten 2025-03-13 02:39:07 +01:00 committed by Chris Josten
parent f71c7a991b
commit 9e1a20cd3a
504 changed files with 62190 additions and 41202 deletions

View file

@ -35,16 +35,16 @@
#include "JellyfinQt/support/jsonconv.h"
#include "JellyfinQt/support/loader.h"
#include "JellyfinQt/loader/requesttypes.h"
#include "JellyfinQt/dto/useritemdatadto.h"
#include "JellyfinQt/dto/useritemdatadto.h"
#include "JellyfinQt/dto/baseitemdto.h"
#include "JellyfinQt/dto/baseitemdtoqueryresult.h"
#include "JellyfinQt/dto/baseitemdto.h"
#include "JellyfinQt/dto/baseitemdto.h"
#include "JellyfinQt/dto/baseitemdto.h"
#include "JellyfinQt/dto/baseitemdto.h"
#include "JellyfinQt/dto/useritemdatadto.h"
#include "JellyfinQt/dto/useritemdatadto.h"
#include "JellyfinQt/dto/useritemdatadto.h"
#include "JellyfinQt/dto/useritemdatadto.h"
#include "JellyfinQt/dto/baseitemdto.h"
#include "JellyfinQt/dto/baseitemdto.h"
#include "JellyfinQt/dto/baseitemdto.h"
namespace Jellyfin {
// Forward declaration
@ -56,34 +56,6 @@ namespace HTTP {
using namespace Jellyfin::DTO;
/**
* @brief Marks an item as a favorite.
*/
class MarkFavoriteItemLoader : public Jellyfin::Support::HttpLoader<UserItemDataDto, MarkFavoriteItemParams> {
public:
explicit MarkFavoriteItemLoader(ApiClient *apiClient = nullptr);
protected:
QString path(const MarkFavoriteItemParams& parameters) const override;
QUrlQuery query(const MarkFavoriteItemParams& parameters) const override;
QByteArray body(const MarkFavoriteItemParams& parameters) const override;
QNetworkAccessManager::Operation operation() const override;
};
/**
* @brief Unmarks item as a favorite.
*/
class UnmarkFavoriteItemLoader : public Jellyfin::Support::HttpLoader<UserItemDataDto, UnmarkFavoriteItemParams> {
public:
explicit UnmarkFavoriteItemLoader(ApiClient *apiClient = nullptr);
protected:
QString path(const UnmarkFavoriteItemParams& parameters) const override;
QUrlQuery query(const UnmarkFavoriteItemParams& parameters) const override;
QByteArray body(const UnmarkFavoriteItemParams& parameters) const override;
QNetworkAccessManager::Operation operation() const override;
};
/**
* @brief Gets an item from a user's library.
*/
@ -126,34 +98,6 @@ protected:
QByteArray body(const GetLocalTrailersParams& parameters) const override;
QNetworkAccessManager::Operation operation() const override;
};
/**
* @brief Deletes a user's saved personal rating for an item.
*/
class DeleteUserItemRatingLoader : public Jellyfin::Support::HttpLoader<UserItemDataDto, DeleteUserItemRatingParams> {
public:
explicit DeleteUserItemRatingLoader(ApiClient *apiClient = nullptr);
protected:
QString path(const DeleteUserItemRatingParams& parameters) const override;
QUrlQuery query(const DeleteUserItemRatingParams& parameters) const override;
QByteArray body(const DeleteUserItemRatingParams& parameters) const override;
QNetworkAccessManager::Operation operation() const override;
};
/**
* @brief Updates a user's rating for an item.
*/
class UpdateUserItemRatingLoader : public Jellyfin::Support::HttpLoader<UserItemDataDto, UpdateUserItemRatingParams> {
public:
explicit UpdateUserItemRatingLoader(ApiClient *apiClient = nullptr);
protected:
QString path(const UpdateUserItemRatingParams& parameters) const override;
QUrlQuery query(const UpdateUserItemRatingParams& parameters) const override;
QByteArray body(const UpdateUserItemRatingParams& parameters) const override;
QNetworkAccessManager::Operation operation() const override;
};
/**
* @brief Gets special features for an item.
*/
@ -196,6 +140,62 @@ protected:
QByteArray body(const GetRootFolderParams& parameters) const override;
QNetworkAccessManager::Operation operation() const override;
};
/**
* @brief Marks an item as a favorite.
*/
class MarkFavoriteItemLoader : public Jellyfin::Support::HttpLoader<UserItemDataDto, MarkFavoriteItemParams> {
public:
explicit MarkFavoriteItemLoader(ApiClient *apiClient = nullptr);
protected:
QString path(const MarkFavoriteItemParams& parameters) const override;
QUrlQuery query(const MarkFavoriteItemParams& parameters) const override;
QByteArray body(const MarkFavoriteItemParams& parameters) const override;
QNetworkAccessManager::Operation operation() const override;
};
/**
* @brief Unmarks item as a favorite.
*/
class UnmarkFavoriteItemLoader : public Jellyfin::Support::HttpLoader<UserItemDataDto, UnmarkFavoriteItemParams> {
public:
explicit UnmarkFavoriteItemLoader(ApiClient *apiClient = nullptr);
protected:
QString path(const UnmarkFavoriteItemParams& parameters) const override;
QUrlQuery query(const UnmarkFavoriteItemParams& parameters) const override;
QByteArray body(const UnmarkFavoriteItemParams& parameters) const override;
QNetworkAccessManager::Operation operation() const override;
};
/**
* @brief Deletes a user's saved personal rating for an item.
*/
class DeleteUserItemRatingLoader : public Jellyfin::Support::HttpLoader<UserItemDataDto, DeleteUserItemRatingParams> {
public:
explicit DeleteUserItemRatingLoader(ApiClient *apiClient = nullptr);
protected:
QString path(const DeleteUserItemRatingParams& parameters) const override;
QUrlQuery query(const DeleteUserItemRatingParams& parameters) const override;
QByteArray body(const DeleteUserItemRatingParams& parameters) const override;
QNetworkAccessManager::Operation operation() const override;
};
/**
* @brief Updates a user's rating for an item.
*/
class UpdateUserItemRatingLoader : public Jellyfin::Support::HttpLoader<UserItemDataDto, UpdateUserItemRatingParams> {
public:
explicit UpdateUserItemRatingLoader(ApiClient *apiClient = nullptr);
protected:
QString path(const UpdateUserItemRatingParams& parameters) const override;
QUrlQuery query(const UpdateUserItemRatingParams& parameters) const override;
QByteArray body(const UpdateUserItemRatingParams& parameters) const override;
QNetworkAccessManager::Operation operation() const override;
};
} // NS HTTP
} // NS Loader