mirror of
https://github.com/UA-Fediland/synapse-admin.git
synced 2024-11-09 16:24:51 +00:00
fix: prevent requests from failing (#272)
Encode userid to handle the case of a localpart with a slash
This commit is contained in:
parent
21ba5c9862
commit
a647c91f4f
1 changed files with 31 additions and 18 deletions
|
@ -41,14 +41,16 @@ const resourceMap = {
|
|||
data: "users",
|
||||
total: json => json.total,
|
||||
create: data => ({
|
||||
endpoint: `/_synapse/admin/v2/users/@${data.id}:${localStorage.getItem(
|
||||
"home_server"
|
||||
)}`,
|
||||
endpoint: `/_synapse/admin/v2/users/@${encodeURIComponent(
|
||||
data.id
|
||||
)}:${localStorage.getItem("home_server")}`,
|
||||
body: data,
|
||||
method: "PUT",
|
||||
}),
|
||||
delete: params => ({
|
||||
endpoint: `/_synapse/admin/v1/deactivate/${params.id}`,
|
||||
endpoint: `/_synapse/admin/v1/deactivate/${encodeURIComponent(
|
||||
params.id
|
||||
)}`,
|
||||
body: { erase: true },
|
||||
method: "POST",
|
||||
}),
|
||||
|
@ -92,10 +94,12 @@ const resourceMap = {
|
|||
return json.total;
|
||||
},
|
||||
reference: id => ({
|
||||
endpoint: `/_synapse/admin/v2/users/${id}/devices`,
|
||||
endpoint: `/_synapse/admin/v2/users/${encodeURIComponent(id)}/devices`,
|
||||
}),
|
||||
delete: params => ({
|
||||
endpoint: `/_synapse/admin/v2/users/${params.user_id}/devices/${params.id}`,
|
||||
endpoint: `/_synapse/admin/v2/users/${encodeURIComponent(
|
||||
params.user_id
|
||||
)}/devices/${params.id}`,
|
||||
}),
|
||||
},
|
||||
connections: {
|
||||
|
@ -137,7 +141,7 @@ const resourceMap = {
|
|||
id: p.pushkey,
|
||||
}),
|
||||
reference: id => ({
|
||||
endpoint: `/_synapse/admin/v1/users/${id}/pushers`,
|
||||
endpoint: `/_synapse/admin/v1/users/${encodeURIComponent(id)}/pushers`,
|
||||
}),
|
||||
data: "pushers",
|
||||
total: json => {
|
||||
|
@ -149,7 +153,9 @@ const resourceMap = {
|
|||
id: jr,
|
||||
}),
|
||||
reference: id => ({
|
||||
endpoint: `/_synapse/admin/v1/users/${id}/joined_rooms`,
|
||||
endpoint: `/_synapse/admin/v1/users/${encodeURIComponent(
|
||||
id
|
||||
)}/joined_rooms`,
|
||||
}),
|
||||
data: "joined_rooms",
|
||||
total: json => {
|
||||
|
@ -162,7 +168,7 @@ const resourceMap = {
|
|||
id: um.media_id,
|
||||
}),
|
||||
reference: id => ({
|
||||
endpoint: `/_synapse/admin/v1/users/${id}/media`,
|
||||
endpoint: `/_synapse/admin/v1/users/${encodeURIComponent(id)}/media`,
|
||||
}),
|
||||
data: "media",
|
||||
total: json => {
|
||||
|
@ -355,9 +361,11 @@ const dataProvider = {
|
|||
const res = resourceMap[resource];
|
||||
|
||||
const endpoint_url = homeserver + res.path;
|
||||
return jsonClient(`${endpoint_url}/${params.id}`).then(({ json }) => ({
|
||||
return jsonClient(`${endpoint_url}/${encodeURIComponent(params.id)}`).then(
|
||||
({ json }) => ({
|
||||
data: res.map(json),
|
||||
}));
|
||||
})
|
||||
);
|
||||
},
|
||||
|
||||
getMany: (resource, params) => {
|
||||
|
@ -369,7 +377,9 @@ const dataProvider = {
|
|||
|
||||
const endpoint_url = homeserver + res.path;
|
||||
return Promise.all(
|
||||
params.ids.map(id => jsonClient(`${endpoint_url}/${id}`))
|
||||
params.ids.map(id =>
|
||||
jsonClient(`${endpoint_url}/${encodeURIComponent(id)}`)
|
||||
)
|
||||
).then(responses => ({
|
||||
data: responses.map(({ json }) => res.map(json)),
|
||||
total: responses.length,
|
||||
|
@ -410,7 +420,7 @@ const dataProvider = {
|
|||
const res = resourceMap[resource];
|
||||
|
||||
const endpoint_url = homeserver + res.path;
|
||||
return jsonClient(`${endpoint_url}/${params.data.id}`, {
|
||||
return jsonClient(`${endpoint_url}/${encodeURIComponent(params.data.id)}`, {
|
||||
method: "PUT",
|
||||
body: JSON.stringify(params.data, filterNullValues),
|
||||
}).then(({ json }) => ({
|
||||
|
@ -427,10 +437,13 @@ const dataProvider = {
|
|||
|
||||
const endpoint_url = homeserver + res.path;
|
||||
return Promise.all(
|
||||
params.ids.map(id => jsonClient(`${endpoint_url}/${id}`), {
|
||||
params.ids.map(
|
||||
id => jsonClient(`${endpoint_url}/${encodeURIComponent(id)}`),
|
||||
{
|
||||
method: "PUT",
|
||||
body: JSON.stringify(params.data, filterNullValues),
|
||||
})
|
||||
}
|
||||
)
|
||||
).then(responses => ({
|
||||
data: responses.map(({ json }) => json),
|
||||
}));
|
||||
|
|
Loading…
Reference in a new issue