0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-05-15 09:31:46 +02:00

modules/client/user: Relax matching user_id in URL to requestor for bridges.

This commit is contained in:
Jason Volk 2023-04-28 18:51:31 -07:00
parent 8a705f77a9
commit d4ba215a3b

View file

@ -43,17 +43,17 @@ get_user(client &client,
url::decode(user_id, request.parv[0]) url::decode(user_id, request.parv[0])
}; };
if(request.user_id != user_id)
throw m::UNSUPPORTED
{
"Getting user data as someone else is not yet supported"
};
const string_view &cmd const string_view &cmd
{ {
request.parv[1] request.parv[1]
}; };
if(request.user_id != user_id && !request.bridge_id)
throw m::UNSUPPORTED
{
"Getting user data as someone else is only for bridges."
};
if(cmd == "filter") if(cmd == "filter")
return get__filter(client, request, user_id); return get__filter(client, request, user_id);
@ -93,10 +93,10 @@ post_user(client &client,
url::decode(user_id, request.parv[0]) url::decode(user_id, request.parv[0])
}; };
if(request.user_id != user_id) if(request.user_id != user_id && !request.bridge_id)
throw m::UNSUPPORTED throw m::UNSUPPORTED
{ {
"Posting user data as someone else is not yet supported" "Posting user data as someone else is only for bridges."
}; };
const string_view &cmd const string_view &cmd
@ -140,10 +140,10 @@ put_user(client &client,
url::decode(user_id, request.parv[0]) url::decode(user_id, request.parv[0])
}; };
if(request.user_id != user_id) if(request.user_id != user_id && !request.bridge_id)
throw m::UNSUPPORTED throw m::UNSUPPORTED
{ {
"Putting user data as someone else is not yet supported" "Putting user data as someone else is only for bridges."
}; };
if(request.parv.size() < 2) if(request.parv.size() < 2)
@ -193,10 +193,10 @@ delete_user(client &client,
url::decode(user_id, request.parv[0]) url::decode(user_id, request.parv[0])
}; };
if(request.user_id != user_id) if(request.user_id != user_id && !request.bridge_id)
throw m::UNSUPPORTED throw m::UNSUPPORTED
{ {
"Deleting user data as someone else is not yet supported" "Deleting user data as someone else is only for bridges."
}; };
if(request.parv.size() < 2) if(request.parv.size() < 2)