Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "set_couriers.hpp"
- #include <fmt/format.h>
- #include <userver/server/handlers/http_handler_base.hpp>
- #include <userver/storages/postgres/cluster.hpp>
- #include <userver/storages/postgres/component.hpp>
- #include <userver/utils/assert.hpp>
- namespace enrollment_couriers{
- namespace {
- class Couriers final : public userver::server::handlers::HttpHandlerBase{
- public:
- static constexpr std::string_view kName = "handler-set-couriers";
- Couriers(const userver::components::ComponentConfig& config,
- const userver::components::ComponentContext& component_context)
- : HttpHandlerBase(config, component_context),
- pg_cluster_(
- component_context
- .FindComponent<userver::components::Postgres>("postgres-db-1")
- .GetCluster()) {}
- // void AddCouriers(const userver::server::http::HttpRequest& request,
- // userver::server::request::RequestContext&) const override
- // {
- // const auto& courier_list = userver::formats::json::FromString(request.RequestBody());
- // if(!courier_list.empty) {
- // for (const auto& value : courier_list) {
- // std::vector<int> regions = value["regions"];
- // courier_type type = value["courier_type"];
- // std::vector<std::string> working_hours = value["working_hours"];
- // pg_cluster_->Execute(
- // userver::storages::postgres::ClusterHostType::kMaster,
- // "INSERT INTO hello_schema.couriers(type, regions, work_hours)"
- // "VALUES (type, regions, working_hours)");
- // }
- // }
- // }
- std::string HandleRequestThrow(const userver::server::http::HttpRequest& request,
- userver::server::request::RequestContext&) const override {
- std::string res = "";
- const auto& id = request.GetArg("id"),
- type = request.GetArg("type"),
- region = request.GetArg("region"),
- hours = request.GetArg("working_hours");
- auto result = pg_cluster_->Execute(
- userver::storages::postgres::ClusterHostType::kMaster,
- "INSERT INTO hello_schema.couriers(courier_id, courier_type, regions, working_hours)"
- "VALUES($1, $2, $3, $4)",
- id, type, region, hours);
- if(result.RowsAffected() == 1)
- res = "Courier added succesfully!!!";
- else
- res = "Somthing went wrong...";
- return res;
- }
- userver::storages::postgres::ClusterPtr pg_cluster_;
- };
- }
- void AppendCouriers(userver::components::ComponentList& component_list) {
- component_list.Append<Couriers>();
- }
- }
Add Comment
Please, Sign In to add comment