/** * 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. */ /* * StoreApi.h * * */ #ifndef StoreApi_H_ #define StoreApi_H_ #include #include #include #include #include #include "Order.h" #include #include namespace org::openapitools::server::api { class StoreApi { public: explicit StoreApi(const std::shared_ptr& rtr); virtual ~StoreApi() = default; void init(); static const std::string base; private: void setupRoutes(); void delete_order_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response); void get_inventory_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response); void get_order_by_id_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response); void place_order_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response); void store_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; /// /// Delete purchase order by ID /// /// /// For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors /// /// ID of the order that needs to be deleted virtual void delete_order(const std::string &orderId, Pistache::Http::ResponseWriter &response) = 0; /// /// Returns pet inventories by status /// /// /// Returns a map of status codes to quantities /// virtual void get_inventory(Pistache::Http::ResponseWriter &response) = 0; /// /// Find purchase order by ID /// /// /// For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions /// /// ID of pet that needs to be fetched virtual void get_order_by_id(const int64_t &orderId, Pistache::Http::ResponseWriter &response) = 0; /// /// Place an order for a pet /// /// /// /// /// order placed for purchasing the pet virtual void place_order(const org::openapitools::server::model::Order &body, Pistache::Http::ResponseWriter &response) = 0; }; } // namespace org::openapitools::server::api #endif /* StoreApi_H_ */