Skip to content

Commit

Permalink
Cleanup responders
Browse files Browse the repository at this point in the history
  • Loading branch information
mmd-osm committed Dec 2, 2023
1 parent aedc72c commit 48c7e29
Show file tree
Hide file tree
Showing 48 changed files with 204 additions and 308 deletions.
3 changes: 0 additions & 3 deletions include/cgimap/api06/changeset_download_handler.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,6 @@ namespace api06 {
class changeset_download_responder : public osmchange_responder {
public:
changeset_download_responder(mime::type, osm_changeset_id_t, data_selection &);

private:
osm_changeset_id_t id;
};

class changeset_download_handler : public handler {
Expand Down
4 changes: 0 additions & 4 deletions include/cgimap/api06/changeset_handler.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -20,10 +20,6 @@ namespace api06 {
class changeset_responder : public osm_current_responder {
public:
changeset_responder(mime::type, osm_changeset_id_t, bool, data_selection &);

private:
osm_changeset_id_t id;
bool include_discussion;
};

class changeset_handler : public handler {
Expand Down
6 changes: 0 additions & 6 deletions include/cgimap/api06/changeset_update_handler.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -26,21 +26,15 @@ class changeset_update_responder : public text_responder {
osm_changeset_id_t id_,
const std::string & payload,
std::optional<osm_user_id_t> user_id);

private:
osm_changeset_id_t id;
};

class changeset_update_sel_responder : public osm_current_responder {
public:
changeset_update_sel_responder(mime::type,
data_selection & sel,
osm_changeset_id_t id_);

private:
data_selection& sel;
osm_changeset_id_t id;
bool include_discussion;
};

class changeset_update_handler : public payload_enabled_handler {
Expand Down
4 changes: 1 addition & 3 deletions include/cgimap/api06/node_handler.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,7 @@ class node_responder : public osm_current_responder {
node_responder(mime::type, osm_nwr_id_t, data_selection &);

private:
osm_nwr_id_t id;

void check_visibility();
void check_visibility(osm_nwr_id_t);
};

class node_handler : public handler {
Expand Down
3 changes: 0 additions & 3 deletions include/cgimap/api06/node_history_handler.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,6 @@ namespace api06 {
class node_history_responder : public osm_current_responder {
public:
node_history_responder(mime::type, osm_nwr_id_t, data_selection &);

private:
osm_nwr_id_t id;
};

class node_history_handler : public handler {
Expand Down
4 changes: 1 addition & 3 deletions include/cgimap/api06/node_relations_handler.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,7 @@ class node_relations_responder : public osm_current_responder {
node_relations_responder(mime::type, osm_nwr_id_t, data_selection &);

private:
osm_nwr_id_t id;

bool is_visible();
bool is_visible(osm_nwr_id_t);
};

class node_relations_handler : public handler {
Expand Down
4 changes: 0 additions & 4 deletions include/cgimap/api06/node_version_handler.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -20,10 +20,6 @@ namespace api06 {
class node_version_responder : public osm_current_responder {
public:
node_version_responder(mime::type, osm_nwr_id_t, osm_version_t, data_selection &);

private:
osm_nwr_id_t id;
osm_nwr_id_t v;
};

class node_version_handler : public handler {
Expand Down
4 changes: 1 addition & 3 deletions include/cgimap/api06/node_ways_handler.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,7 @@ class node_ways_responder : public osm_current_responder {
node_ways_responder(mime::type, osm_nwr_id_t, data_selection &);

private:
osm_nwr_id_t id;

bool is_visible();
bool is_visible(osm_nwr_id_t);
};

class node_ways_handler : public handler {
Expand Down
5 changes: 1 addition & 4 deletions include/cgimap/api06/nodes_handler.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -22,10 +22,7 @@ namespace api06 {

class nodes_responder : public osm_current_responder {
public:
nodes_responder(mime::type, std::vector<id_version>, data_selection &);

private:
std::vector<id_version> ids;
nodes_responder(mime::type, const std::vector<id_version>&, data_selection &);
};

class nodes_handler : public handler {
Expand Down
4 changes: 1 addition & 3 deletions include/cgimap/api06/relation_full_handler.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,7 @@ class relation_full_responder : public osm_current_responder {
relation_full_responder(mime::type, osm_nwr_id_t, data_selection &);

private:
osm_nwr_id_t id;

void check_visibility();
void check_visibility(osm_nwr_id_t);
};

class relation_full_handler : public handler {
Expand Down
4 changes: 1 addition & 3 deletions include/cgimap/api06/relation_handler.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,7 @@ class relation_responder : public osm_current_responder {
relation_responder(mime::type, osm_nwr_id_t, data_selection &);

private:
osm_nwr_id_t id;

void check_visibility();
void check_visibility(osm_nwr_id_t);
};

class relation_handler : public handler {
Expand Down
3 changes: 0 additions & 3 deletions include/cgimap/api06/relation_history_handler.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,6 @@ namespace api06 {
class relation_history_responder : public osm_current_responder {
public:
relation_history_responder(mime::type, osm_nwr_id_t, data_selection &);

private:
osm_nwr_id_t id;
};

class relation_history_handler : public handler {
Expand Down
4 changes: 1 addition & 3 deletions include/cgimap/api06/relation_relations_handler.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,7 @@ class relation_relations_responder : public osm_current_responder {
relation_relations_responder(mime::type, osm_nwr_id_t, data_selection &);

private:
osm_nwr_id_t id;

bool is_visible();
bool is_visible(osm_nwr_id_t);
};

class relation_relations_handler : public handler {
Expand Down
6 changes: 0 additions & 6 deletions include/cgimap/api06/relation_version_handler.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -20,12 +20,6 @@ namespace api06 {
class relation_version_responder : public osm_current_responder {
public:
relation_version_responder(mime::type, osm_nwr_id_t, osm_version_t v, data_selection &);

private:
osm_nwr_id_t id;
osm_version_t v;

void check_visibility();
};

class relation_version_handler : public handler {
Expand Down
5 changes: 1 addition & 4 deletions include/cgimap/api06/relations_handler.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -23,10 +23,7 @@ namespace api06 {

class relations_responder : public osm_current_responder {
public:
relations_responder(mime::type, std::vector<id_version>, data_selection &);

private:
std::vector<id_version> ids;
relations_responder(mime::type, const std::vector<id_version>&, data_selection &);
};

class relations_handler : public handler {
Expand Down
4 changes: 1 addition & 3 deletions include/cgimap/api06/way_full_handler.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,7 @@ class way_full_responder : public osm_current_responder {
way_full_responder(mime::type, osm_nwr_id_t, data_selection &);

private:
osm_nwr_id_t id;

void check_visibility();
void check_visibility(osm_nwr_id_t id);
};

class way_full_handler : public handler {
Expand Down
4 changes: 1 addition & 3 deletions include/cgimap/api06/way_handler.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,7 @@ class way_responder : public osm_current_responder {
way_responder(mime::type, osm_nwr_id_t, data_selection &);

private:
osm_nwr_id_t id;

void check_visibility();
void check_visibility(osm_nwr_id_t);
};

class way_handler : public handler {
Expand Down
3 changes: 0 additions & 3 deletions include/cgimap/api06/way_history_handler.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,6 @@ namespace api06 {
class way_history_responder : public osm_current_responder {
public:
way_history_responder(mime::type, osm_nwr_id_t, data_selection &);

private:
osm_nwr_id_t id;
};

class way_history_handler : public handler {
Expand Down
4 changes: 1 addition & 3 deletions include/cgimap/api06/way_relations_handler.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,7 @@ class way_relations_responder : public osm_current_responder {
way_relations_responder(mime::type, osm_nwr_id_t, data_selection &);

private:
osm_nwr_id_t id;

bool is_visible();
bool is_visible(osm_nwr_id_t id);
};

class way_relations_handler : public handler {
Expand Down
6 changes: 0 additions & 6 deletions include/cgimap/api06/way_version_handler.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -20,12 +20,6 @@ namespace api06 {
class way_version_responder : public osm_current_responder {
public:
way_version_responder(mime::type, osm_nwr_id_t, osm_version_t, data_selection &);

private:
osm_nwr_id_t id;
osm_version_t v;

void check_visibility();
};

class way_version_handler : public handler {
Expand Down
5 changes: 1 addition & 4 deletions include/cgimap/api06/ways_handler.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -22,10 +22,7 @@ namespace api06 {

class ways_responder : public osm_current_responder {
public:
ways_responder(mime::type, std::vector<id_version>, data_selection &);

private:
std::vector<id_version> ids;
ways_responder(mime::type, const std::vector<id_version>&, data_selection &);
};

class ways_handler : public handler {
Expand Down
5 changes: 1 addition & 4 deletions include/cgimap/api07/map_handler.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -27,21 +27,18 @@ namespace api07 {
class map_responder : public osm_current_responder {
public:
map_responder(mime::type, bbox, data_selection &);
~map_responder();
};

class map_handler : public handler {
public:
explicit map_handler(request &req);
map_handler(request &req, int tile_id);
~map_handler();
std::string log_name() const override;
responder_ptr_t responder(data_selection &x) const override;

private:
bbox bounds;

static bbox validate_request(request &req);
bbox validate_request(request &req);
};

} // namespace api07
Expand Down
16 changes: 5 additions & 11 deletions src/api06/changeset_close_handler.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -24,26 +24,21 @@
namespace api06 {

changeset_close_responder::changeset_close_responder(
mime::type mt, data_update & upd, osm_changeset_id_t id_, const std::string &payload,
mime::type mt, data_update & upd, osm_changeset_id_t changeset, const std::string &,
std::optional<osm_user_id_t> user_id)
: text_responder(mt) {

osm_changeset_id_t changeset = id_;
osm_user_id_t uid = *user_id;

auto changeset_updater = upd.get_changeset_updater(changeset, uid);

auto changeset_updater = upd.get_changeset_updater(changeset, *user_id);
changeset_updater->api_close_changeset();

upd.commit();
}


changeset_close_handler::changeset_close_handler(request &,
osm_changeset_id_t id_)
osm_changeset_id_t id)
: payload_enabled_handler(mime::text_plain,
http::method::PUT | http::method::OPTIONS),
id(id_) {}
id(id) {}


std::string changeset_close_handler::log_name() const {
Expand All @@ -58,8 +53,7 @@ changeset_close_handler::responder(data_selection &) const {

responder_ptr_t changeset_close_handler::responder(
data_update & upd, const std::string &payload, std::optional<osm_user_id_t> user_id) const {
return responder_ptr_t(
new changeset_close_responder(mime_type, upd, id, payload, user_id));
return std::make_unique<changeset_close_responder>(mime_type, upd, id, payload, user_id);
}

bool changeset_close_handler::requires_selection_after_update() const {
Expand Down
10 changes: 2 additions & 8 deletions src/api06/changeset_create_handler.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -31,16 +31,11 @@ changeset_create_responder::changeset_create_responder(

osm_changeset_id_t changeset = 0;

osm_user_id_t uid = *user_id;

auto changeset_updater = upd.get_changeset_updater(changeset, uid);

auto changeset_updater = upd.get_changeset_updater(changeset, *user_id);
auto tags = ChangesetXMLParser().process_message(payload);

changeset = changeset_updater->api_create_changeset(tags);

output_text = std::to_string(changeset);

upd.commit();
}

Expand All @@ -60,8 +55,7 @@ changeset_create_handler::responder(data_selection &) const {

responder_ptr_t changeset_create_handler::responder(
data_update & upd, const std::string &payload, std::optional<osm_user_id_t> user_id) const {
return responder_ptr_t(
new changeset_create_responder(mime_type, upd, payload, user_id));
return std::make_unique<changeset_create_responder>(mime_type, upd, payload, user_id);
}

bool changeset_create_handler::requires_selection_after_update() const {
Expand Down
10 changes: 5 additions & 5 deletions src/api06/changeset_download_handler.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -17,23 +17,23 @@
namespace api06 {

changeset_download_responder::changeset_download_responder(
mime::type mt, osm_changeset_id_t id_, data_selection &w_)
: osmchange_responder(mt, w_), id(id_) {
mime::type mt, osm_changeset_id_t id, data_selection &w)
: osmchange_responder(mt, w) {

if (sel.select_changesets({id}) == 0) {
throw http::not_found(fmt::format("Changeset {:d} was not found.", id));
}
sel.select_historical_by_changesets({id});
}

changeset_download_handler::changeset_download_handler(request &req, osm_changeset_id_t id_)
: id(id_) {
changeset_download_handler::changeset_download_handler(request &req, osm_changeset_id_t id)
: id(id) {
}

std::string changeset_download_handler::log_name() const { return "changeset/download"; }

responder_ptr_t changeset_download_handler::responder(data_selection &w) const {
return responder_ptr_t(new changeset_download_responder(mime_type, id, w));
return std::make_unique<changeset_download_responder>(mime_type, id, w);
}

} // namespace api06
Loading

0 comments on commit 48c7e29

Please sign in to comment.