diff --git a/README.md b/README.md
index ace3297..2fd5942 100644
--- a/README.md
+++ b/README.md
@@ -4,7 +4,7 @@
This project is built using [react-admin](https://marmelab.com/react-admin/).
-It needs at least Synapse v1.18.0 for all functions to work as expected!
+It needs at least Synapse v1.23.0 for all functions to work as expected!
You get your server version with the request `/_synapse/admin/v1/server_version`.
See also [Synapse version API](https://github.com/matrix-org/synapse/blob/develop/docs/admin_api/version_api.rst).
diff --git a/src/App.js b/src/App.js
index 6ad0b22..9077a78 100644
--- a/src/App.js
+++ b/src/App.js
@@ -44,6 +44,7 @@ const App = () => (
+
);
diff --git a/src/components/users.js b/src/components/users.js
index 827dca0..bd148fa 100644
--- a/src/components/users.js
+++ b/src/components/users.js
@@ -5,6 +5,7 @@ import ContactMailIcon from "@material-ui/icons/ContactMail";
import DevicesIcon from "@material-ui/icons/Devices";
import GetAppIcon from "@material-ui/icons/GetApp";
import SettingsInputComponentIcon from "@material-ui/icons/SettingsInputComponent";
+import NotificationsIcon from "@material-ui/icons/Notifications";
import {
ArrayInput,
ArrayField,
@@ -312,6 +313,7 @@ export const UserEdit = props => {
/>
+
}
@@ -330,6 +332,7 @@ export const UserEdit = props => {
+
}
@@ -361,6 +364,7 @@ export const UserEdit = props => {
+
}
@@ -400,6 +404,29 @@ export const UserEdit = props => {
+
+ }
+ path="pushers"
+ >
+
+
+
+
+
+
+
+
+
+
+
+
+
);
diff --git a/src/i18n/de.js b/src/i18n/de.js
index 0342ec4..f613372 100644
--- a/src/i18n/de.js
+++ b/src/i18n/de.js
@@ -195,6 +195,20 @@ export default {
},
},
},
+ pushers: {
+ name: "Pusher |||| Pushers",
+ fields: {
+ app: "App",
+ app_display_name: "App-Anzeigename",
+ app_id: "App ID",
+ device_display_name: "Geräte-Anzeigename",
+ kind: "Art",
+ lang: "Sprache",
+ profile_tag: "Profil-Tag",
+ pushkey: "Pushkey",
+ data: { url: "URL" },
+ },
+ },
servernotices: {
name: "Serverbenachrichtigungen",
send: "Servernachricht versenden",
diff --git a/src/i18n/en.js b/src/i18n/en.js
index 997fdf6..9bc63de 100644
--- a/src/i18n/en.js
+++ b/src/i18n/en.js
@@ -193,6 +193,20 @@ export default {
},
},
},
+ pushers: {
+ name: "Pusher |||| Pushers",
+ fields: {
+ app: "App",
+ app_display_name: "App display name",
+ app_id: "App ID",
+ device_display_name: "Device display name",
+ kind: "Kind",
+ lang: "Language",
+ profile_tag: "Profile tag",
+ pushkey: "Pushkey",
+ data: { url: "URL" },
+ },
+ },
servernotices: {
name: "Server Notices",
send: "Send server notices",
diff --git a/src/synapse/dataProvider.js b/src/synapse/dataProvider.js
index e1f06bc..acfa6ca 100644
--- a/src/synapse/dataProvider.js
+++ b/src/synapse/dataProvider.js
@@ -102,6 +102,15 @@ const resourceMap = {
}),
data: "members",
},
+ pushers: {
+ map: p => ({
+ ...p,
+ }),
+ reference: id => ({
+ endpoint: `/_synapse/admin/v1/users/${id}/pushers`,
+ }),
+ data: "pushers",
+ },
servernotices: {
map: n => ({ id: n.event_id }),
create: data => ({