Compare commits
77 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| d6749b413a | |||
| d8df2fa2e8 | |||
| cef7e31cb2 | |||
| b2d1dc0be1 | |||
| 72bc40f322 | |||
| 44b9aca138 | |||
| ab673a91a1 | |||
| e2ecf90f66 | |||
| 1ac7d8d87b | |||
| 7914caa70e | |||
| 24952cba56 | |||
| 6f26a31604 | |||
| dbb9a7f547 | |||
| 705244b4fc | |||
| 46259d3740 | |||
| 4772083040 | |||
| 61e4444727 | |||
| df57f5f908 | |||
| 94d8bb2772 | |||
| e6f7f1d591 | |||
| de7e8d1ff3 | |||
| 317de6ce80 | |||
| f74249073a | |||
| 33dcd46f74 | |||
| 2ab4ab66e3 | |||
| 3410deb510 | |||
| b1c35b670f | |||
| 39dea09895 | |||
| 8804bdc94d | |||
| 36bf2dff3e | |||
| 0958f376a9 | |||
| f287555d53 | |||
| b66a4596e4 | |||
| 4ff83bf261 | |||
| c79453f4f4 | |||
| 149c8590c2 | |||
| eefd5796d0 | |||
| 2b712e5bd9 | |||
| 26014820dc | |||
| fbb82c99a5 | |||
| 27655602da | |||
| dcf6dbe8ae | |||
| 216a23cbb2 | |||
| e83087444c | |||
| 07bb80a1e6 | |||
| fdb43c9193 | |||
| 2c002afe8e | |||
| 29aa686e70 | |||
| edd7f12e5d | |||
| c5b73a222c | |||
| 5b6edfbf11 | |||
| 573857ed4a | |||
| 9b1e3dbfd2 | |||
| e78c2bedaa | |||
| 0872e31411 | |||
| 84a253f50b | |||
| 0726dc788d | |||
| b9501c77f0 | |||
| 558ed60bb4 | |||
| 2197356a1e | |||
| 96c718e45f | |||
| 339848e117 | |||
| 7faf321346 | |||
| 5cdd110bf1 | |||
| 9a05dfee7a | |||
| 9110a8ac99 | |||
|
|
0b153ddcbb | ||
|
|
784c284723 | ||
|
|
e5f73ea8b4 | ||
|
|
96551259c5 | ||
|
|
b2fa533ef0 | ||
|
|
7aa0f9f50d | ||
|
|
5aa90c25f7 | ||
|
|
38d58db08d | ||
|
|
e637df232a | ||
|
|
d97c633cd0 | ||
|
|
b02396c61f |
@@ -1,11 +1,14 @@
|
|||||||
# Builder
|
# Builder
|
||||||
FROM node:lts as builder
|
FROM node:lts as builder
|
||||||
|
|
||||||
|
ARG PUBLIC_URL=/
|
||||||
|
ARG REACT_APP_SERVER
|
||||||
|
|
||||||
WORKDIR /src
|
WORKDIR /src
|
||||||
|
|
||||||
COPY . /src
|
COPY . /src
|
||||||
RUN yarn --network-timeout=100000 install
|
RUN yarn --network-timeout=100000 install
|
||||||
RUN yarn build
|
RUN PUBLIC_URL=$PUBLIC_URL REACT_APP_SERVER=$REACT_APP_SERVER yarn build
|
||||||
|
|
||||||
|
|
||||||
# App
|
# App
|
||||||
|
|||||||
43
README.md
43
README.md
@@ -5,13 +5,33 @@
|
|||||||
|
|
||||||
This project is built using [react-admin](https://marmelab.com/react-admin/).
|
This project is built using [react-admin](https://marmelab.com/react-admin/).
|
||||||
|
|
||||||
It needs at least Synapse v1.42.0 for all functions to work as expected!
|
```
|
||||||
|
curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -
|
||||||
|
|
||||||
|
## Run `sudo apt-get install -y nodejs` to install Node.js 14.x and npm
|
||||||
|
## You may also need development tools to build native addons:
|
||||||
|
sudo apt-get install gcc g++ make
|
||||||
|
## To install the Yarn package manager, run:
|
||||||
|
curl -sL https://dl.yarnpkg.com/debian/pubkey.gpg | gpg --dearmor | sudo tee /usr/share/keyrings/yarnkey.gpg >/dev/null
|
||||||
|
echo "deb [signed-by=/usr/share/keyrings/yarnkey.gpg] https://dl.yarnpkg.com/debian stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
|
||||||
|
sudo apt-get update && sudo apt-get install yarn
|
||||||
|
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
|
||||||
|
### Supported Synapse
|
||||||
|
|
||||||
|
It needs at least [Synapse](https://github.com/matrix-org/synapse) v1.42.0 for all functions to work as expected!
|
||||||
|
|
||||||
You get your server version with the request `/_synapse/admin/v1/server_version`.
|
You get your server version with the request `/_synapse/admin/v1/server_version`.
|
||||||
See also [Synapse version API](https://matrix-org.github.io/synapse/develop/admin_api/version_api.html).
|
See also [Synapse version API](https://matrix-org.github.io/synapse/develop/admin_api/version_api.html).
|
||||||
|
|
||||||
After entering the URL on the login page of synapse-admin the server version appears below the input field.
|
After entering the URL on the login page of synapse-admin the server version appears below the input field.
|
||||||
|
|
||||||
|
### Prerequisites
|
||||||
|
|
||||||
You need access to the following endpoints:
|
You need access to the following endpoints:
|
||||||
|
|
||||||
- `/_matrix`
|
- `/_matrix`
|
||||||
@@ -19,7 +39,17 @@ You need access to the following endpoints:
|
|||||||
|
|
||||||
See also [Synapse administration endpoints](https://matrix-org.github.io/synapse/develop/reverse_proxy.html#synapse-administration-endpoints)
|
See also [Synapse administration endpoints](https://matrix-org.github.io/synapse/develop/reverse_proxy.html#synapse-administration-endpoints)
|
||||||
|
|
||||||
## Step-By-Step install
|
### Use without install
|
||||||
|
|
||||||
|
You can use the current version of Synapse Admin without own installation direct
|
||||||
|
via [GitHub Pages](https://awesome-technologies.github.io/synapse-admin/).
|
||||||
|
|
||||||
|
**Note:**
|
||||||
|
If you want to use the deployment, you have to make sure that the admin endpoints (`/_synapse/admin`) are accessible for your browser.
|
||||||
|
**Remember: You have no need to expose these endpoints to the internet but to your network.**
|
||||||
|
If you want your own deployment, follow the [Step-By-Step Install Guide](#step-by-step-install) below.
|
||||||
|
|
||||||
|
### Step-By-Step install
|
||||||
|
|
||||||
You have three options:
|
You have three options:
|
||||||
|
|
||||||
@@ -27,7 +57,7 @@ You have three options:
|
|||||||
2. [Download the source code from github and run using nodejs](#steps-for-2)
|
2. [Download the source code from github and run using nodejs](#steps-for-2)
|
||||||
3. [Run the Docker container](#steps-for-3)
|
3. [Run the Docker container](#steps-for-3)
|
||||||
|
|
||||||
### Steps for 1)
|
#### Steps for 1)
|
||||||
|
|
||||||
- make sure you have a webserver installed that can serve static files (any webserver like nginx or apache will do)
|
- make sure you have a webserver installed that can serve static files (any webserver like nginx or apache will do)
|
||||||
- configure a vhost for synapse admin on your webserver
|
- configure a vhost for synapse admin on your webserver
|
||||||
@@ -36,7 +66,7 @@ You have three options:
|
|||||||
- move or symlink the `synapse-admin-x.x.x` into your vhosts root dir
|
- move or symlink the `synapse-admin-x.x.x` into your vhosts root dir
|
||||||
- open the url of the vhost in your browser
|
- open the url of the vhost in your browser
|
||||||
|
|
||||||
### Steps for 2)
|
#### Steps for 2)
|
||||||
|
|
||||||
- make sure you have installed the following: git, yarn, nodejs
|
- make sure you have installed the following: git, yarn, nodejs
|
||||||
- download the source code: `git clone https://github.com/Awesome-Technologies/synapse-admin.git`
|
- download the source code: `git clone https://github.com/Awesome-Technologies/synapse-admin.git`
|
||||||
@@ -49,7 +79,7 @@ Either you define it at startup (e.g. `REACT_APP_SERVER=https://yourmatrixserver
|
|||||||
or by editing it in the [.env](.env) file. See also the
|
or by editing it in the [.env](.env) file. See also the
|
||||||
[documentation](https://create-react-app.dev/docs/adding-custom-environment-variables/).
|
[documentation](https://create-react-app.dev/docs/adding-custom-environment-variables/).
|
||||||
|
|
||||||
### Steps for 3)
|
#### Steps for 3)
|
||||||
|
|
||||||
- run the Docker container from the public docker registry: `docker run -p 8080:80 awesometechnologies/synapse-admin` or use the [docker-compose.yml](docker-compose.yml): `docker-compose up -d`
|
- run the Docker container from the public docker registry: `docker run -p 8080:80 awesometechnologies/synapse-admin` or use the [docker-compose.yml](docker-compose.yml): `docker-compose up -d`
|
||||||
|
|
||||||
@@ -66,6 +96,9 @@ or by editing it in the [.env](.env) file. See also the
|
|||||||
context: https://github.com/Awesome-Technologies/synapse-admin.git
|
context: https://github.com/Awesome-Technologies/synapse-admin.git
|
||||||
# args:
|
# args:
|
||||||
# - NODE_OPTIONS="--max_old_space_size=1024"
|
# - NODE_OPTIONS="--max_old_space_size=1024"
|
||||||
|
# # see #266
|
||||||
|
# - PUBLIC_URL="/synapse-admin"
|
||||||
|
# - REACT_APP_SERVER="https://matrix.example.com"
|
||||||
ports:
|
ports:
|
||||||
- "8080:80"
|
- "8080:80"
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
|
|||||||
@@ -26,7 +26,7 @@
|
|||||||
"ra-language-chinese": "^2.0.10",
|
"ra-language-chinese": "^2.0.10",
|
||||||
"ra-language-german": "^3.13.4",
|
"ra-language-german": "^3.13.4",
|
||||||
"react": "^17.0.0",
|
"react": "^17.0.0",
|
||||||
"react-admin": "^3.15.0",
|
"react-admin": "^3.19.7",
|
||||||
"react-dom": "^17.0.2",
|
"react-dom": "^17.0.2",
|
||||||
"react-scripts": "^4.0.0"
|
"react-scripts": "^4.0.0"
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -88,6 +88,7 @@ const App = () => (
|
|||||||
<Resource name="servernotices" />
|
<Resource name="servernotices" />
|
||||||
<Resource name="forward_extremities" />
|
<Resource name="forward_extremities" />
|
||||||
<Resource name="room_state" />
|
<Resource name="room_state" />
|
||||||
|
<Resource name="user_urlpreview" />
|
||||||
</Admin>
|
</Admin>
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|||||||
@@ -70,7 +70,6 @@ export const ReportShow = props => {
|
|||||||
icon={<PageviewIcon />}
|
icon={<PageviewIcon />}
|
||||||
path="detail"
|
path="detail"
|
||||||
>
|
>
|
||||||
{" "}
|
|
||||||
<DateField
|
<DateField
|
||||||
source="event_json.origin_server_ts"
|
source="event_json.origin_server_ts"
|
||||||
showTime
|
showTime
|
||||||
|
|||||||
@@ -34,6 +34,7 @@ import UserIcon from "@material-ui/icons/Group";
|
|||||||
import ViewListIcon from "@material-ui/icons/ViewList";
|
import ViewListIcon from "@material-ui/icons/ViewList";
|
||||||
import VisibilityIcon from "@material-ui/icons/Visibility";
|
import VisibilityIcon from "@material-ui/icons/Visibility";
|
||||||
import EventIcon from "@material-ui/icons/Event";
|
import EventIcon from "@material-ui/icons/Event";
|
||||||
|
|
||||||
import {
|
import {
|
||||||
RoomDirectoryBulkDeleteButton,
|
RoomDirectoryBulkDeleteButton,
|
||||||
RoomDirectoryBulkSaveButton,
|
RoomDirectoryBulkSaveButton,
|
||||||
@@ -158,7 +159,11 @@ export const RoomShow = props => {
|
|||||||
/>
|
/>
|
||||||
</Tab>
|
</Tab>
|
||||||
|
|
||||||
<Tab label="synapseadmin.rooms.tabs.members" icon={<UserIcon />}>
|
<Tab
|
||||||
|
label="synapseadmin.rooms.tabs.members"
|
||||||
|
icon={<UserIcon />}
|
||||||
|
path="members"
|
||||||
|
>
|
||||||
<ReferenceManyField
|
<ReferenceManyField
|
||||||
reference="room_members"
|
reference="room_members"
|
||||||
target="room_id"
|
target="room_id"
|
||||||
@@ -297,6 +302,8 @@ export const RoomShow = props => {
|
|||||||
</Datagrid>
|
</Datagrid>
|
||||||
</ReferenceManyField>
|
</ReferenceManyField>
|
||||||
</Tab>
|
</Tab>
|
||||||
|
|
||||||
|
|
||||||
</TabbedShowLayout>
|
</TabbedShowLayout>
|
||||||
</Show>
|
</Show>
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ import PermMediaIcon from "@material-ui/icons/PermMedia";
|
|||||||
import PersonPinIcon from "@material-ui/icons/PersonPin";
|
import PersonPinIcon from "@material-ui/icons/PersonPin";
|
||||||
import SettingsInputComponentIcon from "@material-ui/icons/SettingsInputComponent";
|
import SettingsInputComponentIcon from "@material-ui/icons/SettingsInputComponent";
|
||||||
import ViewListIcon from "@material-ui/icons/ViewList";
|
import ViewListIcon from "@material-ui/icons/ViewList";
|
||||||
|
|
||||||
import {
|
import {
|
||||||
ArrayInput,
|
ArrayInput,
|
||||||
ArrayField,
|
ArrayField,
|
||||||
@@ -278,7 +279,7 @@ export const UserCreate = props => (
|
|||||||
/>
|
/>
|
||||||
<BooleanInput source="admin" />
|
<BooleanInput source="admin" />
|
||||||
<ArrayInput source="threepids">
|
<ArrayInput source="threepids">
|
||||||
<SimpleFormIterator>
|
<SimpleFormIterator disableReordering>
|
||||||
<SelectInput
|
<SelectInput
|
||||||
source="medium"
|
source="medium"
|
||||||
choices={[
|
choices={[
|
||||||
@@ -291,7 +292,7 @@ export const UserCreate = props => (
|
|||||||
</SimpleFormIterator>
|
</SimpleFormIterator>
|
||||||
</ArrayInput>
|
</ArrayInput>
|
||||||
<ArrayInput source="external_ids" label="synapseadmin.users.tabs.sso">
|
<ArrayInput source="external_ids" label="synapseadmin.users.tabs.sso">
|
||||||
<SimpleFormIterator>
|
<SimpleFormIterator disableReordering>
|
||||||
<TextInput source="auth_provider" validate={required()} />
|
<TextInput source="auth_provider" validate={required()} />
|
||||||
<TextInput
|
<TextInput
|
||||||
source="external_id"
|
source="external_id"
|
||||||
@@ -348,7 +349,7 @@ export const UserEdit = props => {
|
|||||||
path="threepid"
|
path="threepid"
|
||||||
>
|
>
|
||||||
<ArrayInput source="threepids">
|
<ArrayInput source="threepids">
|
||||||
<SimpleFormIterator>
|
<SimpleFormIterator disableReordering>
|
||||||
<SelectInput
|
<SelectInput
|
||||||
source="medium"
|
source="medium"
|
||||||
choices={[
|
choices={[
|
||||||
@@ -367,7 +368,7 @@ export const UserEdit = props => {
|
|||||||
path="sso"
|
path="sso"
|
||||||
>
|
>
|
||||||
<ArrayInput source="external_ids" label={false}>
|
<ArrayInput source="external_ids" label={false}>
|
||||||
<SimpleFormIterator>
|
<SimpleFormIterator disableReordering>
|
||||||
<TextInput source="auth_provider" validate={required()} />
|
<TextInput source="auth_provider" validate={required()} />
|
||||||
<TextInput
|
<TextInput
|
||||||
source="external_id"
|
source="external_id"
|
||||||
@@ -420,6 +421,8 @@ export const UserEdit = props => {
|
|||||||
>
|
>
|
||||||
<Datagrid style={{ width: "100%" }}>
|
<Datagrid style={{ width: "100%" }}>
|
||||||
<TextField source="ip" sortable={false} />
|
<TextField source="ip" sortable={false} />
|
||||||
|
<TextField source="port" sortable={false} emptyText="13001" />
|
||||||
|
|
||||||
<DateField
|
<DateField
|
||||||
source="last_seen"
|
source="last_seen"
|
||||||
showTime
|
showTime
|
||||||
@@ -429,7 +432,7 @@ export const UserEdit = props => {
|
|||||||
<TextField
|
<TextField
|
||||||
source="user_agent"
|
source="user_agent"
|
||||||
sortable={false}
|
sortable={false}
|
||||||
style={{ width: "100%" }}
|
style={{ width: "90%" }}
|
||||||
/>
|
/>
|
||||||
</Datagrid>
|
</Datagrid>
|
||||||
</ArrayField>
|
</ArrayField>
|
||||||
@@ -468,6 +471,27 @@ export const UserEdit = props => {
|
|||||||
</ReferenceManyField>
|
</ReferenceManyField>
|
||||||
</FormTab>
|
</FormTab>
|
||||||
|
|
||||||
|
<FormTab
|
||||||
|
label={translate("resources.urlpreview.name", { smart_count: 2 })}
|
||||||
|
icon={<PermMediaIcon />}
|
||||||
|
path="user_urlpreview"
|
||||||
|
>
|
||||||
|
<ReferenceManyField
|
||||||
|
reference="user_urlpreview"
|
||||||
|
target="user_id"
|
||||||
|
addLabel={false}
|
||||||
|
pagination={<UserPagination />}
|
||||||
|
perPage={50}
|
||||||
|
sort={{ field: "created_ts", order: "DESC" }}
|
||||||
|
>
|
||||||
|
<Datagrid style={{ width: "100%" }}>
|
||||||
|
<DateField source="created_ts" showTime options={date_format} sortable={false} />
|
||||||
|
<TextField source="media_id" sortable={false} />
|
||||||
|
<TextField source="url_cache" sortable={false} />
|
||||||
|
</Datagrid>
|
||||||
|
</ReferenceManyField>
|
||||||
|
</FormTab>
|
||||||
|
|
||||||
<FormTab
|
<FormTab
|
||||||
label={translate("resources.rooms.name", { smart_count: 2 })}
|
label={translate("resources.rooms.name", { smart_count: 2 })}
|
||||||
icon={<ViewListIcon />}
|
icon={<ViewListIcon />}
|
||||||
|
|||||||
@@ -123,6 +123,7 @@ const zh = {
|
|||||||
address: "地址",
|
address: "地址",
|
||||||
creation_ts_ms: "创建时间戳",
|
creation_ts_ms: "创建时间戳",
|
||||||
consent_version: "协议版本",
|
consent_version: "协议版本",
|
||||||
|
device_id: "设备ID"
|
||||||
},
|
},
|
||||||
helper: {
|
helper: {
|
||||||
deactivate: "您必须提供一串密码来激活账户。",
|
deactivate: "您必须提供一串密码来激活账户。",
|
||||||
@@ -170,13 +171,16 @@ const zh = {
|
|||||||
},
|
},
|
||||||
unencrypted: "未加密",
|
unencrypted: "未加密",
|
||||||
},
|
},
|
||||||
|
helper: {
|
||||||
|
forward_extremities: "转发"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
reports: {
|
reports: {
|
||||||
name: "报告事件",
|
name: "举报事件",
|
||||||
fields: {
|
fields: {
|
||||||
id: "ID",
|
id: "ID",
|
||||||
received_ts: "报告时间",
|
received_ts: "举报时间",
|
||||||
user_id: "报告者",
|
user_id: "举报者",
|
||||||
name: "房间名",
|
name: "房间名",
|
||||||
score: "分数",
|
score: "分数",
|
||||||
reason: "原因",
|
reason: "原因",
|
||||||
@@ -199,7 +203,8 @@ const zh = {
|
|||||||
name: "连接",
|
name: "连接",
|
||||||
fields: {
|
fields: {
|
||||||
last_seen: "日期",
|
last_seen: "日期",
|
||||||
ip: "IP 地址",
|
ip: "源IP地址",
|
||||||
|
port: "源端口",
|
||||||
user_agent: "用户代理 (UA)",
|
user_agent: "用户代理 (UA)",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@@ -285,6 +290,29 @@ const zh = {
|
|||||||
media_length: "媒体文件长度",
|
media_length: "媒体文件长度",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
room_state: {
|
||||||
|
name: "状态"
|
||||||
|
},
|
||||||
|
room_directory:{
|
||||||
|
name: "目录",
|
||||||
|
action: {
|
||||||
|
create: "新建"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
forward_extremities: {
|
||||||
|
name: "转发"
|
||||||
|
},
|
||||||
|
registration_tokens: {
|
||||||
|
name: "注册"
|
||||||
|
},
|
||||||
|
urlpreview: {
|
||||||
|
name: "第三方链接"
|
||||||
|
},
|
||||||
|
quarantine_media: {
|
||||||
|
action: {
|
||||||
|
name: "隔离"
|
||||||
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
export default zh;
|
export default zh;
|
||||||
|
|||||||
@@ -102,7 +102,7 @@ const resourceMap = {
|
|||||||
path: "/_synapse/admin/v1/whois",
|
path: "/_synapse/admin/v1/whois",
|
||||||
map: c => ({
|
map: c => ({
|
||||||
...c,
|
...c,
|
||||||
id: c.user_id,
|
id: c.user_id
|
||||||
}),
|
}),
|
||||||
data: "connections",
|
data: "connections",
|
||||||
},
|
},
|
||||||
@@ -156,6 +156,19 @@ const resourceMap = {
|
|||||||
return json.total;
|
return json.total;
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
user_urlpreview: {
|
||||||
|
map: uu => ({
|
||||||
|
...uu,
|
||||||
|
id: uu.media_id,
|
||||||
|
}),
|
||||||
|
reference: id => ({
|
||||||
|
endpoint: `/_synapse/admin/v1/users/${id}/urlpreview`,
|
||||||
|
}),
|
||||||
|
data: "urlpreview",
|
||||||
|
total: json => {
|
||||||
|
return json.total;
|
||||||
|
},
|
||||||
|
},
|
||||||
users_media: {
|
users_media: {
|
||||||
map: um => ({
|
map: um => ({
|
||||||
...um,
|
...um,
|
||||||
@@ -293,7 +306,7 @@ const resourceMap = {
|
|||||||
delete: params => ({
|
delete: params => ({
|
||||||
endpoint: `/_synapse/admin/v1/registration_tokens/${params.id}`,
|
endpoint: `/_synapse/admin/v1/registration_tokens/${params.id}`,
|
||||||
}),
|
}),
|
||||||
},
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
function filterNullValues(key, value) {
|
function filterNullValues(key, value) {
|
||||||
|
|||||||
106
yarn.lock
106
yarn.lock
@@ -2608,9 +2608,9 @@ async-limiter@~1.0.0:
|
|||||||
integrity sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==
|
integrity sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==
|
||||||
|
|
||||||
async@^2.6.2:
|
async@^2.6.2:
|
||||||
version "2.6.3"
|
version "2.6.4"
|
||||||
resolved "https://registry.yarnpkg.com/async/-/async-2.6.3.tgz#d72625e2344a3656e3a3ad4fa749fa83299d82ff"
|
resolved "https://registry.yarnpkg.com/async/-/async-2.6.4.tgz#706b7ff6084664cd7eae713f6f965433b5504221"
|
||||||
integrity sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==
|
integrity sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==
|
||||||
dependencies:
|
dependencies:
|
||||||
lodash "^4.17.14"
|
lodash "^4.17.14"
|
||||||
|
|
||||||
@@ -3745,11 +3745,11 @@ create-hmac@^1.1.0, create-hmac@^1.1.4, create-hmac@^1.1.7:
|
|||||||
sha.js "^2.4.8"
|
sha.js "^2.4.8"
|
||||||
|
|
||||||
cross-fetch@^3.0.4:
|
cross-fetch@^3.0.4:
|
||||||
version "3.1.4"
|
version "3.1.5"
|
||||||
resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.1.4.tgz#9723f3a3a247bf8b89039f3a380a9244e8fa2f39"
|
resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.1.5.tgz#e1389f44d9e7ba767907f7af8454787952ab534f"
|
||||||
integrity sha512-1eAtFWdIubi6T4XPy6ei9iUFoKpUkIF971QLN8lIvvvwueI65+Nw5haMNKUwfJxabqlIIDODJKGrQ66gxC0PbQ==
|
integrity sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==
|
||||||
dependencies:
|
dependencies:
|
||||||
node-fetch "2.6.1"
|
node-fetch "2.6.7"
|
||||||
|
|
||||||
cross-spawn@7.0.3, cross-spawn@^7.0.0, cross-spawn@^7.0.2:
|
cross-spawn@7.0.3, cross-spawn@^7.0.0, cross-spawn@^7.0.2:
|
||||||
version "7.0.3"
|
version "7.0.3"
|
||||||
@@ -7621,9 +7621,9 @@ minimatch@3.0.4, minimatch@^3.0.4:
|
|||||||
brace-expansion "^1.1.7"
|
brace-expansion "^1.1.7"
|
||||||
|
|
||||||
minimist@^1.1.1, minimist@^1.2.0, minimist@^1.2.5:
|
minimist@^1.1.1, minimist@^1.2.0, minimist@^1.2.5:
|
||||||
version "1.2.5"
|
version "1.2.6"
|
||||||
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602"
|
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.6.tgz#8637a5b759ea0d6e98702cfb3a9283323c93af44"
|
||||||
integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==
|
integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==
|
||||||
|
|
||||||
minipass-collect@^1.0.2:
|
minipass-collect@^1.0.2:
|
||||||
version "1.0.2"
|
version "1.0.2"
|
||||||
@@ -7804,10 +7804,12 @@ no-case@^3.0.4:
|
|||||||
lower-case "^2.0.2"
|
lower-case "^2.0.2"
|
||||||
tslib "^2.0.3"
|
tslib "^2.0.3"
|
||||||
|
|
||||||
node-fetch@2.6.1:
|
node-fetch@2.6.7:
|
||||||
version "2.6.1"
|
version "2.6.7"
|
||||||
resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.1.tgz#045bd323631f76ed2e2b55573394416b639a0052"
|
resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad"
|
||||||
integrity sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==
|
integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==
|
||||||
|
dependencies:
|
||||||
|
whatwg-url "^5.0.0"
|
||||||
|
|
||||||
node-forge@^0.10.0:
|
node-forge@^0.10.0:
|
||||||
version "0.10.0"
|
version "0.10.0"
|
||||||
@@ -9397,10 +9399,10 @@ queue-microtask@^1.2.2:
|
|||||||
resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243"
|
resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243"
|
||||||
integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==
|
integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==
|
||||||
|
|
||||||
ra-core@^3.19.4:
|
ra-core@^3.19.7:
|
||||||
version "3.19.4"
|
version "3.19.7"
|
||||||
resolved "https://registry.yarnpkg.com/ra-core/-/ra-core-3.19.4.tgz#2fc23bf369f6bf776f882e9c2492f4d45c6976a5"
|
resolved "https://registry.yarnpkg.com/ra-core/-/ra-core-3.19.7.tgz#c7e9313000434dd991d06846ef154b5dfed6a650"
|
||||||
integrity sha512-5uos2t3fOFrYJoD0H+4/TwSoZvjK6jJR2ZR5hX3X6cwsF5sI8fkMys0dIPduQZJYs7eX0m8I8n41+bgMrBoILw==
|
integrity sha512-ar85cQ7vtIIrb6Ijj8Om+IkuB4i4uuoMcfvDgLxaNOEyImq+n3osVHi93FkZKpdZAHQ9qKnkN83SODhoRdaGfg==
|
||||||
dependencies:
|
dependencies:
|
||||||
classnames "~2.3.1"
|
classnames "~2.3.1"
|
||||||
date-fns "^1.29.0"
|
date-fns "^1.29.0"
|
||||||
@@ -9411,25 +9413,25 @@ ra-core@^3.19.4:
|
|||||||
query-string "^5.1.1"
|
query-string "^5.1.1"
|
||||||
reselect "~3.0.0"
|
reselect "~3.0.0"
|
||||||
|
|
||||||
ra-i18n-polyglot@^3.19.4:
|
ra-i18n-polyglot@^3.19.7:
|
||||||
version "3.19.4"
|
version "3.19.7"
|
||||||
resolved "https://registry.yarnpkg.com/ra-i18n-polyglot/-/ra-i18n-polyglot-3.19.4.tgz#4b50d5f7247b114d8c809ec623a9876c9167e626"
|
resolved "https://registry.yarnpkg.com/ra-i18n-polyglot/-/ra-i18n-polyglot-3.19.7.tgz#948418e8db1b1b72918906e577dd5843ab0891ea"
|
||||||
integrity sha512-aFFktMVnZhYrNj5T4DxD75oKkuRc7kvdr53V5e+2wy2p8axz+aoC1GGGhX8f6VmOL5qqGQhny4AZgNataHBmmg==
|
integrity sha512-aexuR6laKN2VcgRfxikD3zKZ2zpH3nIY9dkt4oEdpRci15PmxO1feahmM2dzFrswlSjAOQ8J8qi3pa1m7V51xw==
|
||||||
dependencies:
|
dependencies:
|
||||||
node-polyglot "^2.2.2"
|
node-polyglot "^2.2.2"
|
||||||
ra-core "^3.19.4"
|
ra-core "^3.19.7"
|
||||||
|
|
||||||
ra-language-chinese@^2.0.10:
|
ra-language-chinese@^2.0.10:
|
||||||
version "2.0.10"
|
version "2.0.10"
|
||||||
resolved "https://registry.yarnpkg.com/ra-language-chinese/-/ra-language-chinese-2.0.10.tgz#7c51b4d13cd6cf62cf8b4e945e489ac85bdc0e7f"
|
resolved "https://registry.yarnpkg.com/ra-language-chinese/-/ra-language-chinese-2.0.10.tgz#7c51b4d13cd6cf62cf8b4e945e489ac85bdc0e7f"
|
||||||
integrity sha512-k+X6XdkBEZnmpKIJZj9Lb77Lj8LCmterilJTj2ovp3i8/H/dLo9IujASfjFypjHnVUpN7Y63LT19kgPrS6+row==
|
integrity sha512-k+X6XdkBEZnmpKIJZj9Lb77Lj8LCmterilJTj2ovp3i8/H/dLo9IujASfjFypjHnVUpN7Y63LT19kgPrS6+row==
|
||||||
|
|
||||||
ra-language-english@^3.19.4:
|
ra-language-english@^3.19.7:
|
||||||
version "3.19.4"
|
version "3.19.7"
|
||||||
resolved "https://registry.yarnpkg.com/ra-language-english/-/ra-language-english-3.19.4.tgz#73b3ddb7ad0d616217ccb33913dfbdbb9f33fd03"
|
resolved "https://registry.yarnpkg.com/ra-language-english/-/ra-language-english-3.19.7.tgz#fe6fe553eb72e5a37e50e55b83e5d928508841ea"
|
||||||
integrity sha512-h71Igzza/GZE2GNBwGje0wfcbNisaJTQpN+F4cE/5Nbj2MgB5NYtTVGkOJj8fWtbkimN6txJ2fDG0S3rMyBS0g==
|
integrity sha512-iqSWXaAOafzrh8uPlJG9Ey1fCCFFnGajynnHlZXh+E10pZ/ZDlIVZDpd7GAY1BxkKh5GPYRqNk+kDxCwXAG3fQ==
|
||||||
dependencies:
|
dependencies:
|
||||||
ra-core "^3.19.4"
|
ra-core "^3.19.7"
|
||||||
|
|
||||||
ra-language-german@^3.13.4:
|
ra-language-german@^3.13.4:
|
||||||
version "3.13.5"
|
version "3.13.5"
|
||||||
@@ -9445,10 +9447,10 @@ ra-test@^3.15.0:
|
|||||||
classnames "~2.3.1"
|
classnames "~2.3.1"
|
||||||
lodash "~4.17.5"
|
lodash "~4.17.5"
|
||||||
|
|
||||||
ra-ui-materialui@^3.19.4:
|
ra-ui-materialui@^3.19.7:
|
||||||
version "3.19.4"
|
version "3.19.7"
|
||||||
resolved "https://registry.yarnpkg.com/ra-ui-materialui/-/ra-ui-materialui-3.19.4.tgz#24f5784ece6b399a759a722f766b506da529dd10"
|
resolved "https://registry.yarnpkg.com/ra-ui-materialui/-/ra-ui-materialui-3.19.7.tgz#5bfc2f686d879b5ace87c551ee3fbe41619d55b9"
|
||||||
integrity sha512-Aj1MDQotD/+XZYIs4qhZh/GdJ045Kcjl9NN4ibEULGFfmV6DgIzjkd9jwzG3FlXXErM1L/laccTlKrnWqhVE+g==
|
integrity sha512-Ojuh5hGpwFnKxZldUCc4uTN56QQtkWTU8bqKkp9Jx9bcFhcilBCv5knD+/ApfkrQan2bKTSwR2gS1F5LiC4hAg==
|
||||||
dependencies:
|
dependencies:
|
||||||
autosuggest-highlight "^3.1.1"
|
autosuggest-highlight "^3.1.1"
|
||||||
classnames "~2.2.5"
|
classnames "~2.2.5"
|
||||||
@@ -9500,10 +9502,10 @@ raw-body@2.4.2:
|
|||||||
iconv-lite "0.4.24"
|
iconv-lite "0.4.24"
|
||||||
unpipe "1.0.0"
|
unpipe "1.0.0"
|
||||||
|
|
||||||
react-admin@^3.15.0:
|
react-admin@^3.19.7:
|
||||||
version "3.19.4"
|
version "3.19.7"
|
||||||
resolved "https://registry.yarnpkg.com/react-admin/-/react-admin-3.19.4.tgz#babb38473a5510c202705cf0a172fe24ea17c6b2"
|
resolved "https://registry.yarnpkg.com/react-admin/-/react-admin-3.19.7.tgz#8c679a7ee497a7441b8fc7e2e8149694755ff834"
|
||||||
integrity sha512-Hgoy/67UNOHR6zX9arbFI1EVBIl9A0cec1O3fPDABtXLz2E2narqO3cqQ8+S3tg1G0Bz4tgzra8XO5CPEBn/5Q==
|
integrity sha512-LDNVYlyjVgtYWf1DrfjI+4SLVUFRxZUKhm16zK4iynAmvFQBKpnjg9VnAlaoSb98I0b86GiE0f69f90egmZvNg==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@material-ui/core" "^4.12.1"
|
"@material-ui/core" "^4.12.1"
|
||||||
"@material-ui/icons" "^4.11.2"
|
"@material-ui/icons" "^4.11.2"
|
||||||
@@ -9511,10 +9513,10 @@ react-admin@^3.15.0:
|
|||||||
connected-react-router "^6.5.2"
|
connected-react-router "^6.5.2"
|
||||||
final-form "^4.20.4"
|
final-form "^4.20.4"
|
||||||
final-form-arrays "^3.0.2"
|
final-form-arrays "^3.0.2"
|
||||||
ra-core "^3.19.4"
|
ra-core "^3.19.7"
|
||||||
ra-i18n-polyglot "^3.19.4"
|
ra-i18n-polyglot "^3.19.7"
|
||||||
ra-language-english "^3.19.4"
|
ra-language-english "^3.19.7"
|
||||||
ra-ui-materialui "^3.19.4"
|
ra-ui-materialui "^3.19.7"
|
||||||
react-final-form "^6.5.7"
|
react-final-form "^6.5.7"
|
||||||
react-final-form-arrays "^3.1.3"
|
react-final-form-arrays "^3.1.3"
|
||||||
react-redux "^7.1.0"
|
react-redux "^7.1.0"
|
||||||
@@ -11193,6 +11195,11 @@ tr46@^2.1.0:
|
|||||||
dependencies:
|
dependencies:
|
||||||
punycode "^2.1.1"
|
punycode "^2.1.1"
|
||||||
|
|
||||||
|
tr46@~0.0.3:
|
||||||
|
version "0.0.3"
|
||||||
|
resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a"
|
||||||
|
integrity sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=
|
||||||
|
|
||||||
tryer@^1.0.1:
|
tryer@^1.0.1:
|
||||||
version "1.0.1"
|
version "1.0.1"
|
||||||
resolved "https://registry.yarnpkg.com/tryer/-/tryer-1.0.1.tgz#f2c85406800b9b0f74c9f7465b81eaad241252f8"
|
resolved "https://registry.yarnpkg.com/tryer/-/tryer-1.0.1.tgz#f2c85406800b9b0f74c9f7465b81eaad241252f8"
|
||||||
@@ -11457,9 +11464,9 @@ url-loader@4.1.1:
|
|||||||
schema-utils "^3.0.0"
|
schema-utils "^3.0.0"
|
||||||
|
|
||||||
url-parse@^1.4.3, url-parse@^1.5.3:
|
url-parse@^1.4.3, url-parse@^1.5.3:
|
||||||
version "1.5.7"
|
version "1.5.10"
|
||||||
resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.7.tgz#00780f60dbdae90181f51ed85fb24109422c932a"
|
resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.10.tgz#9d3c2f736c1d75dd3bd2be507dcc111f1e2ea9c1"
|
||||||
integrity sha512-HxWkieX+STA38EDk7CE9MEryFeHCKzgagxlGvsdS7WBImq9Mk+PGwiT56w82WI3aicwJA8REp42Cxo98c8FZMA==
|
integrity sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==
|
||||||
dependencies:
|
dependencies:
|
||||||
querystringify "^2.1.1"
|
querystringify "^2.1.1"
|
||||||
requires-port "^1.0.0"
|
requires-port "^1.0.0"
|
||||||
@@ -11629,6 +11636,11 @@ wbuf@^1.1.0, wbuf@^1.7.3:
|
|||||||
dependencies:
|
dependencies:
|
||||||
minimalistic-assert "^1.0.0"
|
minimalistic-assert "^1.0.0"
|
||||||
|
|
||||||
|
webidl-conversions@^3.0.0:
|
||||||
|
version "3.0.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871"
|
||||||
|
integrity sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=
|
||||||
|
|
||||||
webidl-conversions@^5.0.0:
|
webidl-conversions@^5.0.0:
|
||||||
version "5.0.0"
|
version "5.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-5.0.0.tgz#ae59c8a00b121543a2acc65c0434f57b0fc11aff"
|
resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-5.0.0.tgz#ae59c8a00b121543a2acc65c0434f57b0fc11aff"
|
||||||
@@ -11775,6 +11787,14 @@ whatwg-mimetype@^2.3.0:
|
|||||||
resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf"
|
resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf"
|
||||||
integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==
|
integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==
|
||||||
|
|
||||||
|
whatwg-url@^5.0.0:
|
||||||
|
version "5.0.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d"
|
||||||
|
integrity sha1-lmRU6HZUYuN2RNNib2dCzotwll0=
|
||||||
|
dependencies:
|
||||||
|
tr46 "~0.0.3"
|
||||||
|
webidl-conversions "^3.0.0"
|
||||||
|
|
||||||
whatwg-url@^8.0.0, whatwg-url@^8.5.0:
|
whatwg-url@^8.0.0, whatwg-url@^8.5.0:
|
||||||
version "8.7.0"
|
version "8.7.0"
|
||||||
resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.7.0.tgz#656a78e510ff8f3937bc0bcbe9f5c0ac35941b77"
|
resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.7.0.tgz#656a78e510ff8f3937bc0bcbe9f5c0ac35941b77"
|
||||||
|
|||||||
Reference in New Issue
Block a user