mirror of
https://github.com/matrix-construct/construct
synced 2024-09-28 19:58:53 +02:00
modules/client/pushrules: Support the /enabled paths on GET and PUT methods.
This commit is contained in:
parent
66c4ebfbb4
commit
927da1002e
1 changed files with 54 additions and 0 deletions
|
@ -68,6 +68,29 @@ ircd::m::push::handle_get(client &client,
|
||||||
request.user_id
|
request.user_id
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const bool handle_enabled
|
||||||
|
{
|
||||||
|
request.parv.size() > 3 &&
|
||||||
|
request.parv[3] == "enabled"
|
||||||
|
};
|
||||||
|
|
||||||
|
if(handle_enabled)
|
||||||
|
{
|
||||||
|
pushrules.get(path, [&]
|
||||||
|
(const auto &path, const json::object &rule)
|
||||||
|
{
|
||||||
|
resource::response
|
||||||
|
{
|
||||||
|
client, json::members
|
||||||
|
{
|
||||||
|
{ "enabled", rule["enabled"] }
|
||||||
|
}
|
||||||
|
};
|
||||||
|
});
|
||||||
|
|
||||||
|
return {}; // returned from closure or threw 404
|
||||||
|
}
|
||||||
|
|
||||||
m::resource::response::chunked response
|
m::resource::response::chunked response
|
||||||
{
|
{
|
||||||
client, http::OK
|
client, http::OK
|
||||||
|
@ -243,6 +266,37 @@ ircd::m::push::handle_put(client &client,
|
||||||
request
|
request
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const bool handle_enabled
|
||||||
|
{
|
||||||
|
request.parv.size() > 3 &&
|
||||||
|
request.parv[3] == "enabled"
|
||||||
|
};
|
||||||
|
|
||||||
|
if(handle_enabled)
|
||||||
|
{
|
||||||
|
pushrules.get(path, [&pushrules, &rule]
|
||||||
|
(const auto &path, const json::object &old_rule)
|
||||||
|
{
|
||||||
|
const auto new_rule
|
||||||
|
{
|
||||||
|
json::replace(old_rule,
|
||||||
|
{
|
||||||
|
"enabled", json::get<"enabled"_>(rule)
|
||||||
|
})
|
||||||
|
};
|
||||||
|
|
||||||
|
const auto res
|
||||||
|
{
|
||||||
|
pushrules.set(path, new_rule)
|
||||||
|
};
|
||||||
|
});
|
||||||
|
|
||||||
|
return resource::response
|
||||||
|
{
|
||||||
|
client, http::OK
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
const auto res
|
const auto res
|
||||||
{
|
{
|
||||||
pushrules.set(path, rule)
|
pushrules.set(path, rule)
|
||||||
|
|
Loading…
Reference in a new issue