1
0
Fork 0
mirror of https://github.com/HenkKalkwater/harbour-sailfin.git synced 2025-09-05 10:12:46 +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

@ -47,6 +47,35 @@ namespace HTTP {
using namespace Jellyfin::DTO;
/**
* @brief Uploads a custom splashscreen.
The body is expected to the image contents base64 encoded.
*/
class UploadCustomSplashscreenLoader : public Jellyfin::Support::HttpLoader<void, UploadCustomSplashscreenParams> {
public:
explicit UploadCustomSplashscreenLoader(ApiClient *apiClient = nullptr);
protected:
QString path(const UploadCustomSplashscreenParams& parameters) const override;
QUrlQuery query(const UploadCustomSplashscreenParams& parameters) const override;
QByteArray body(const UploadCustomSplashscreenParams& parameters) const override;
QNetworkAccessManager::Operation operation() const override;
};
/**
* @brief Delete a custom splashscreen.
*/
class DeleteCustomSplashscreenLoader : public Jellyfin::Support::HttpLoader<void, DeleteCustomSplashscreenParams> {
public:
explicit DeleteCustomSplashscreenLoader(ApiClient *apiClient = nullptr);
protected:
QString path(const DeleteCustomSplashscreenParams& parameters) const override;
QUrlQuery query(const DeleteCustomSplashscreenParams& parameters) const override;
QByteArray body(const DeleteCustomSplashscreenParams& parameters) const override;
QNetworkAccessManager::Operation operation() const override;
};
/**
* @brief Get item image infos.
*/
@ -159,34 +188,6 @@ protected:
QByteArray body(const DeleteUserImageParams& parameters) const override;
QNetworkAccessManager::Operation operation() const override;
};
/**
* @brief Sets the user image.
*/
class PostUserImageByIndexLoader : public Jellyfin::Support::HttpLoader<void, PostUserImageByIndexParams> {
public:
explicit PostUserImageByIndexLoader(ApiClient *apiClient = nullptr);
protected:
QString path(const PostUserImageByIndexParams& parameters) const override;
QUrlQuery query(const PostUserImageByIndexParams& parameters) const override;
QByteArray body(const PostUserImageByIndexParams& parameters) const override;
QNetworkAccessManager::Operation operation() const override;
};
/**
* @brief Delete the user's image.
*/
class DeleteUserImageByIndexLoader : public Jellyfin::Support::HttpLoader<void, DeleteUserImageByIndexParams> {
public:
explicit DeleteUserImageByIndexLoader(ApiClient *apiClient = nullptr);
protected:
QString path(const DeleteUserImageByIndexParams& parameters) const override;
QUrlQuery query(const DeleteUserImageByIndexParams& parameters) const override;
QByteArray body(const DeleteUserImageByIndexParams& parameters) const override;
QNetworkAccessManager::Operation operation() const override;
};
} // NS HTTP
} // NS Loader