/** * OpenAPI Petstore * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. * * The version of the OpenAPI document: 1.0.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ /* * UserApi.h * * */ #ifndef UserApi_H_ #define UserApi_H_ #include #include #include #include #include #include "User.h" #include #include namespace org::openapitools::server::api { class UserApi { public: explicit UserApi(const std::shared_ptr& rtr); virtual ~UserApi() = default; void init(); static const std::string base; private: void setupRoutes(); void create_user_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response); void create_users_with_array_input_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response); void create_users_with_list_input_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response); void delete_user_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response); void get_user_by_name_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response); void login_user_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response); void logout_user_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response); void update_user_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response); void user_api_default_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response); const std::shared_ptr router; /// /// Helper function to handle unexpected Exceptions during Parameter parsing and validation. /// May be overridden to return custom error formats. This is called inside a catch block. /// Important: When overriding, do not call `throw ex;`, but instead use `throw;`. /// virtual std::pair handleParsingException(const std::exception& ex) const noexcept; /// /// Helper function to handle unexpected Exceptions during processing of the request in handler functions. /// May be overridden to return custom error formats. This is called inside a catch block. /// Important: When overriding, do not call `throw ex;`, but instead use `throw;`. /// virtual std::pair handleOperationException(const std::exception& ex) const noexcept; /// /// Create user /// /// /// This can only be done by the logged in user. /// /// Created user object virtual void create_user(const org::openapitools::server::model::User &body, Pistache::Http::ResponseWriter &response) = 0; /// /// Creates list of users with given input array /// /// /// /// /// List of user object virtual void create_users_with_array_input(const std::vector &body, Pistache::Http::ResponseWriter &response) = 0; /// /// Creates list of users with given input array /// /// /// /// /// List of user object virtual void create_users_with_list_input(const std::vector &body, Pistache::Http::ResponseWriter &response) = 0; /// /// Delete user /// /// /// This can only be done by the logged in user. /// /// The name that needs to be deleted virtual void delete_user(const std::string &username, Pistache::Http::ResponseWriter &response) = 0; /// /// Get user by user name /// /// /// /// /// The name that needs to be fetched. Use user1 for testing. virtual void get_user_by_name(const std::string &username, Pistache::Http::ResponseWriter &response) = 0; /// /// Logs user into the system /// /// /// /// /// The user name for login /// The password for login in clear text virtual void login_user(const std::optional &username, const std::optional &password, Pistache::Http::ResponseWriter &response) = 0; /// /// Logs out current logged in user session /// /// /// /// virtual void logout_user(Pistache::Http::ResponseWriter &response) = 0; /// /// Updated user /// /// /// This can only be done by the logged in user. /// /// name that need to be deleted /// Updated user object virtual void update_user(const std::string &username, const org::openapitools::server::model::User &body, Pistache::Http::ResponseWriter &response) = 0; }; } // namespace org::openapitools::server::api #endif /* UserApi_H_ */