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

@ -39,7 +39,6 @@
#include "JellyfinQt/dto/userdto.h"
#include "JellyfinQt/dto/authenticationresult.h"
#include "JellyfinQt/dto/authenticationresult.h"
#include "JellyfinQt/dto/authenticationresult.h"
#include "JellyfinQt/dto/forgotpasswordresult.h"
#include "JellyfinQt/dto/pinredeemresult.h"
#include "JellyfinQt/dto/userdto.h"
@ -70,6 +69,20 @@ protected:
QByteArray body(const GetUsersParams& parameters) const override;
QNetworkAccessManager::Operation operation() const override;
};
/**
* @brief Updates a user.
*/
class UpdateUserLoader : public Jellyfin::Support::HttpLoader<void, UpdateUserParams> {
public:
explicit UpdateUserLoader(ApiClient *apiClient = nullptr);
protected:
QString path(const UpdateUserParams& parameters) const override;
QUrlQuery query(const UpdateUserParams& parameters) const override;
QByteArray body(const UpdateUserParams& parameters) const override;
QNetworkAccessManager::Operation operation() const override;
};
/**
* @brief Gets a user by Id.
*/
@ -98,76 +111,6 @@ protected:
QByteArray body(const DeleteUserParams& parameters) const override;
QNetworkAccessManager::Operation operation() const override;
};
/**
* @brief Updates a user.
*/
class UpdateUserLoader : public Jellyfin::Support::HttpLoader<void, UpdateUserParams> {
public:
explicit UpdateUserLoader(ApiClient *apiClient = nullptr);
protected:
QString path(const UpdateUserParams& parameters) const override;
QUrlQuery query(const UpdateUserParams& parameters) const override;
QByteArray body(const UpdateUserParams& parameters) const override;
QNetworkAccessManager::Operation operation() const override;
};
/**
* @brief Authenticates a user.
*/
class AuthenticateUserLoader : public Jellyfin::Support::HttpLoader<AuthenticationResult, AuthenticateUserParams> {
public:
explicit AuthenticateUserLoader(ApiClient *apiClient = nullptr);
protected:
QString path(const AuthenticateUserParams& parameters) const override;
QUrlQuery query(const AuthenticateUserParams& parameters) const override;
QByteArray body(const AuthenticateUserParams& parameters) const override;
QNetworkAccessManager::Operation operation() const override;
};
/**
* @brief Updates a user configuration.
*/
class UpdateUserConfigurationLoader : public Jellyfin::Support::HttpLoader<void, UpdateUserConfigurationParams> {
public:
explicit UpdateUserConfigurationLoader(ApiClient *apiClient = nullptr);
protected:
QString path(const UpdateUserConfigurationParams& parameters) const override;
QUrlQuery query(const UpdateUserConfigurationParams& parameters) const override;
QByteArray body(const UpdateUserConfigurationParams& parameters) const override;
QNetworkAccessManager::Operation operation() const override;
};
/**
* @brief Updates a user's easy password.
*/
class UpdateUserEasyPasswordLoader : public Jellyfin::Support::HttpLoader<void, UpdateUserEasyPasswordParams> {
public:
explicit UpdateUserEasyPasswordLoader(ApiClient *apiClient = nullptr);
protected:
QString path(const UpdateUserEasyPasswordParams& parameters) const override;
QUrlQuery query(const UpdateUserEasyPasswordParams& parameters) const override;
QByteArray body(const UpdateUserEasyPasswordParams& parameters) const override;
QNetworkAccessManager::Operation operation() const override;
};
/**
* @brief Updates a user's password.
*/
class UpdateUserPasswordLoader : public Jellyfin::Support::HttpLoader<void, UpdateUserPasswordParams> {
public:
explicit UpdateUserPasswordLoader(ApiClient *apiClient = nullptr);
protected:
QString path(const UpdateUserPasswordParams& parameters) const override;
QUrlQuery query(const UpdateUserPasswordParams& parameters) const override;
QByteArray body(const UpdateUserPasswordParams& parameters) const override;
QNetworkAccessManager::Operation operation() const override;
};
/**
* @brief Updates a user policy.
*/
@ -210,6 +153,20 @@ protected:
QByteArray body(const AuthenticateWithQuickConnectParams& parameters) const override;
QNetworkAccessManager::Operation operation() const override;
};
/**
* @brief Updates a user configuration.
*/
class UpdateUserConfigurationLoader : public Jellyfin::Support::HttpLoader<void, UpdateUserConfigurationParams> {
public:
explicit UpdateUserConfigurationLoader(ApiClient *apiClient = nullptr);
protected:
QString path(const UpdateUserConfigurationParams& parameters) const override;
QUrlQuery query(const UpdateUserConfigurationParams& parameters) const override;
QByteArray body(const UpdateUserConfigurationParams& parameters) const override;
QNetworkAccessManager::Operation operation() const override;
};
/**
* @brief Initiates the forgot password process for a local user.
*/
@ -266,6 +223,20 @@ protected:
QByteArray body(const CreateUserByNameParams& parameters) const override;
QNetworkAccessManager::Operation operation() const override;
};
/**
* @brief Updates a user's password.
*/
class UpdateUserPasswordLoader : public Jellyfin::Support::HttpLoader<void, UpdateUserPasswordParams> {
public:
explicit UpdateUserPasswordLoader(ApiClient *apiClient = nullptr);
protected:
QString path(const UpdateUserPasswordParams& parameters) const override;
QUrlQuery query(const UpdateUserPasswordParams& parameters) const override;
QByteArray body(const UpdateUserPasswordParams& parameters) const override;
QNetworkAccessManager::Operation operation() const override;
};
/**
* @brief Gets a list of publicly visible users for display on a login screen.
*/