mirror of
https://github.com/matrix-construct/construct
synced 2024-10-03 06:08:52 +02:00
modules/client/rooms: 6.4.1/6.4.2 PUT state.
This commit is contained in:
parent
b121c4377b
commit
38db46aad4
3 changed files with 44 additions and 0 deletions
|
@ -96,6 +96,9 @@ put_rooms(client &client, const resource::request &request)
|
|||
if(cmd == "send")
|
||||
return put__send(client, request, room_id);
|
||||
|
||||
if(cmd == "state")
|
||||
return put__state(client, request, room_id);
|
||||
|
||||
if(cmd == "typing")
|
||||
return put__typing(client, request, room_id);
|
||||
|
||||
|
|
|
@ -30,6 +30,11 @@ get__state(ircd::client &client,
|
|||
const ircd::resource::request &request,
|
||||
const ircd::m::room::id &room_id);
|
||||
|
||||
ircd::resource::response
|
||||
put__state(ircd::client &client,
|
||||
const ircd::resource::request &request,
|
||||
const ircd::m::room::id &room_id);
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// members.cc
|
||||
|
|
|
@ -133,3 +133,39 @@ get__state(client &client,
|
|||
|
||||
return get__state(client, request, room_id, event_id);
|
||||
}
|
||||
|
||||
resource::response
|
||||
put__state(client &client,
|
||||
const resource::request &request,
|
||||
const m::room::id &room_id)
|
||||
{
|
||||
char type_buf[uint(256 * 1.34 + 1)];
|
||||
const string_view &type
|
||||
{
|
||||
url::decode(request.parv[2], type_buf)
|
||||
};
|
||||
|
||||
char skey_buf[uint(256 * 1.34 + 1)];
|
||||
const string_view &state_key
|
||||
{
|
||||
url::decode(request.parv[3], skey_buf)
|
||||
};
|
||||
|
||||
const json::object &content
|
||||
{
|
||||
request.content
|
||||
};
|
||||
|
||||
const auto event_id
|
||||
{
|
||||
m::send(room_id, request.user_id, type, state_key, content)
|
||||
};
|
||||
|
||||
return resource::response
|
||||
{
|
||||
client, json::members
|
||||
{
|
||||
{ "event_id", event_id }
|
||||
}
|
||||
};
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue