/** * 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 "oatpp/web/server/api/ApiController.hpp" #include "oatpp/core/macro/codegen.hpp" #include "oatpp/core/macro/component.hpp" #include "oatpp/core/Types.hpp" #include "User.hpp" #include OATPP_CODEGEN_BEGIN(ApiController) ///< Begin ApiController codegen section namespace org::openapitools::server::api { class UserApi : public oatpp::web::server::api::ApiController { public: UserApi(OATPP_COMPONENT(std::shared_ptr, objectMapper) /* Inject object mapper */) : oatpp::web::server::api::ApiController(objectMapper) {} /// /// Create user /// /// /// This can only be done by the logged in user. /// /// HTTP Request /// Created user object virtual std::shared_ptr create_user(const std::shared_ptr &request, const oatpp::Object &user) = 0; ENDPOINT("POST", "/user", create_user_handler, REQUEST(std::shared_ptr, request), BODY_DTO(oatpp::Object, user)) { return create_user(request, user); } /// /// Creates list of users with given input array /// /// /// /// /// HTTP Request /// List of user object virtual std::shared_ptr create_users_with_array_input(const std::shared_ptr &request, const oatpp::Vector> &user) = 0; ENDPOINT("POST", "/user/createWithArray", create_users_with_array_input_handler, REQUEST(std::shared_ptr, request), BODY_DTO(oatpp::Vector>, user)) { return create_users_with_array_input(request, user); } /// /// Creates list of users with given input array /// /// /// /// /// HTTP Request /// List of user object virtual std::shared_ptr create_users_with_list_input(const std::shared_ptr &request, const oatpp::Vector> &user) = 0; ENDPOINT("POST", "/user/createWithList", create_users_with_list_input_handler, REQUEST(std::shared_ptr, request), BODY_DTO(oatpp::Vector>, user)) { return create_users_with_list_input(request, user); } /// /// Delete user /// /// /// This can only be done by the logged in user. /// /// HTTP Request /// The name that needs to be deleted virtual std::shared_ptr delete_user(const std::shared_ptr &request, const oatpp::String &username) = 0; ENDPOINT("DELETE", "/user/{username}", delete_user_handler, REQUEST(std::shared_ptr, request), PATH(oatpp::String, username)) { return delete_user(request, username); } /// /// Get user by user name /// /// /// /// /// HTTP Request /// The name that needs to be fetched. Use user1 for testing. virtual std::shared_ptr get_user_by_name(const std::shared_ptr &request, const oatpp::String &username) = 0; ENDPOINT("GET", "/user/{username}", get_user_by_name_handler, REQUEST(std::shared_ptr, request), PATH(oatpp::String, username)) { return get_user_by_name(request, username); } /// /// Logs user into the system /// /// /// /// /// HTTP Request /// The user name for login /// The password for login in clear text virtual std::shared_ptr login_user(const std::shared_ptr &request, const oatpp::String &username, const oatpp::String &password) = 0; ENDPOINT("GET", "/user/login", login_user_handler, REQUEST(std::shared_ptr, request), QUERY(oatpp::String, username), QUERY(oatpp::String, password)) { return login_user(request, username, password); } /// /// Logs out current logged in user session /// /// /// /// /// HTTP Request virtual std::shared_ptr logout_user(const std::shared_ptr &request) = 0; ENDPOINT("GET", "/user/logout", logout_user_handler, REQUEST(std::shared_ptr, request)) { return logout_user(request); } /// /// Updated user /// /// /// This can only be done by the logged in user. /// /// HTTP Request /// name that need to be deleted /// Updated user object virtual std::shared_ptr update_user(const std::shared_ptr &request, const oatpp::String &username, const oatpp::Object &user) = 0; ENDPOINT("PUT", "/user/{username}", update_user_handler, REQUEST(std::shared_ptr, request), PATH(oatpp::String, username), BODY_DTO(oatpp::Object, user)) { return update_user(request, username, user); } }; #include OATPP_CODEGEN_END(ApiController) ///< End ApiController codegen section } // namespace org::openapitools::server::api #endif /* UserApi_H_ */