#pragma once #include #include #include #include #include "bserv/common.hpp" std::nullopt_t hello( bserv::response_type& response, std::shared_ptr session_ptr); boost::json::object user_register( bserv::request_type& request, boost::json::object&& params, std::shared_ptr conn); boost::json::object user_login( bserv::request_type& request, boost::json::object&& params, std::shared_ptr conn, std::shared_ptr session_ptr); boost::json::object find_user( std::shared_ptr conn, const std::string& username); boost::json::object user_logout( std::shared_ptr session_ptr); boost::json::object send_request( std::shared_ptr session, std::shared_ptr client_ptr, boost::json::object&& params); boost::json::object echo( boost::json::object&& params); // websocket std::nullopt_t ws_echo( std::shared_ptr session, std::shared_ptr ws_server); std::nullopt_t serve_static_files( bserv::response_type& response, const std::string& path); std::nullopt_t index_page( std::shared_ptr session_ptr, bserv::response_type& response); std::nullopt_t form_login( bserv::request_type& request, bserv::response_type& response, boost::json::object&& params, std::shared_ptr conn, std::shared_ptr session_ptr); std::nullopt_t form_logout( std::shared_ptr session_ptr, bserv::response_type& response); std::nullopt_t view_users( std::shared_ptr conn, std::shared_ptr session_ptr, bserv::response_type& response, const std::string& page_num); std::nullopt_t form_add_user( bserv::request_type& request, bserv::response_type& response, boost::json::object&& params, std::shared_ptr conn, std::shared_ptr session_ptr);