forked from loafle/openapi-generator-original
105 lines
2.7 KiB
C++
105 lines
2.7 KiB
C++
/*
|
|
* UserApi.h
|
|
*
|
|
*
|
|
*/
|
|
|
|
#ifndef UserApi_H_
|
|
#define UserApi_H_
|
|
|
|
|
|
#include "ApiClient.h"
|
|
|
|
#include "User.h"
|
|
#include <vector>
|
|
#include <cpprest/details/basic_types.h>
|
|
|
|
namespace io {
|
|
namespace swagger {
|
|
namespace client {
|
|
namespace api {
|
|
|
|
using namespace io::swagger::client::model;
|
|
|
|
class UserApi
|
|
{
|
|
public:
|
|
UserApi( std::shared_ptr<ApiClient> apiClient );
|
|
virtual ~UserApi();
|
|
/// <summary>
|
|
/// Create user
|
|
/// </summary>
|
|
/// <remarks>
|
|
/// This can only be done by the logged in user.
|
|
/// </remarks>
|
|
/// <param name="body">Created user object</param>
|
|
pplx::task<void> createUser(std::shared_ptr<User> body);
|
|
/// <summary>
|
|
/// Creates list of users with given input array
|
|
/// </summary>
|
|
/// <remarks>
|
|
///
|
|
/// </remarks>
|
|
/// <param name="body">List of user object</param>
|
|
pplx::task<void> createUsersWithArrayInput(std::vector<std::shared_ptr<User>> body);
|
|
/// <summary>
|
|
/// Creates list of users with given input array
|
|
/// </summary>
|
|
/// <remarks>
|
|
///
|
|
/// </remarks>
|
|
/// <param name="body">List of user object</param>
|
|
pplx::task<void> createUsersWithListInput(std::vector<std::shared_ptr<User>> body);
|
|
/// <summary>
|
|
/// Delete user
|
|
/// </summary>
|
|
/// <remarks>
|
|
/// This can only be done by the logged in user.
|
|
/// </remarks>
|
|
/// <param name="username">The name that needs to be deleted</param>
|
|
pplx::task<void> deleteUser(utility::string_t username);
|
|
/// <summary>
|
|
/// Get user by user name
|
|
/// </summary>
|
|
/// <remarks>
|
|
///
|
|
/// </remarks>
|
|
/// <param name="username">The name that needs to be fetched. Use user1 for testing. </param>
|
|
pplx::task<std::shared_ptr<User>> getUserByName(utility::string_t username);
|
|
/// <summary>
|
|
/// Logs user into the system
|
|
/// </summary>
|
|
/// <remarks>
|
|
///
|
|
/// </remarks>
|
|
/// <param name="username">The user name for login</param>/// <param name="password">The password for login in clear text</param>
|
|
pplx::task<utility::string_t> loginUser(utility::string_t username, utility::string_t password);
|
|
/// <summary>
|
|
/// Logs out current logged in user session
|
|
/// </summary>
|
|
/// <remarks>
|
|
///
|
|
/// </remarks>
|
|
|
|
pplx::task<void> logoutUser();
|
|
/// <summary>
|
|
/// Updated user
|
|
/// </summary>
|
|
/// <remarks>
|
|
/// This can only be done by the logged in user.
|
|
/// </remarks>
|
|
/// <param name="username">name that need to be deleted</param>/// <param name="body">Updated user object</param>
|
|
pplx::task<void> updateUser(utility::string_t username, std::shared_ptr<User> body);
|
|
|
|
protected:
|
|
std::shared_ptr<ApiClient> m_ApiClient;
|
|
};
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
#endif /* UserApi_H_ */
|
|
|