diff --git a/grafana-plugin/src/containers/UserSettings/parts/connectors/Connectors.tsx b/grafana-plugin/src/containers/UserSettings/parts/connectors/Connectors.tsx index 5f249fb4..570c58dc 100644 --- a/grafana-plugin/src/containers/UserSettings/parts/connectors/Connectors.tsx +++ b/grafana-plugin/src/containers/UserSettings/parts/connectors/Connectors.tsx @@ -1,6 +1,7 @@ import React, { FC } from 'react'; import { Legend } from '@grafana/ui'; +import { observer } from 'mobx-react'; import { UserSettingsTab } from 'containers/UserSettings/UserSettings.types'; import { ApiSchemas } from 'network/oncall-api/api.types'; @@ -19,7 +20,7 @@ interface ConnectorsProps { onTabChange: (tab: UserSettingsTab) => void; } -export const Connectors: FC = (props) => { +export const Connectors: FC = observer((props) => { const store = useStore(); return ( <> @@ -32,4 +33,4 @@ export const Connectors: FC = (props) => { ); -}; +}); diff --git a/grafana-plugin/src/containers/UserSettings/parts/connectors/MobileAppConnector.tsx b/grafana-plugin/src/containers/UserSettings/parts/connectors/MobileAppConnector.tsx index f769af7e..4460c2ad 100644 --- a/grafana-plugin/src/containers/UserSettings/parts/connectors/MobileAppConnector.tsx +++ b/grafana-plugin/src/containers/UserSettings/parts/connectors/MobileAppConnector.tsx @@ -1,6 +1,7 @@ import React, { useCallback } from 'react'; import { Button, InlineField } from '@grafana/ui'; +import { observer } from 'mobx-react'; import { UserSettingsTab } from 'containers/UserSettings/UserSettings.types'; import { ApiSchemas } from 'network/oncall-api/api.types'; @@ -11,7 +12,7 @@ interface MobileAppConnectorProps { onTabChange: (tab: UserSettingsTab) => void; } -export const MobileAppConnector = (props: MobileAppConnectorProps) => { +export const MobileAppConnector = observer((props: MobileAppConnectorProps) => { const { onTabChange, id } = props; const store = useStore(); const { userStore } = store; @@ -35,4 +36,4 @@ export const MobileAppConnector = (props: MobileAppConnectorProps) => { )} ); -}; +}); diff --git a/grafana-plugin/src/containers/UserSettings/parts/connectors/PhoneConnector.tsx b/grafana-plugin/src/containers/UserSettings/parts/connectors/PhoneConnector.tsx index 31508264..11f09349 100644 --- a/grafana-plugin/src/containers/UserSettings/parts/connectors/PhoneConnector.tsx +++ b/grafana-plugin/src/containers/UserSettings/parts/connectors/PhoneConnector.tsx @@ -2,6 +2,7 @@ import React, { useCallback } from 'react'; import { Alert, Button, HorizontalGroup, InlineField, Input, VerticalGroup } from '@grafana/ui'; import cn from 'classnames/bind'; +import { observer } from 'mobx-react'; import { Tag } from 'components/Tag/Tag'; import { Text } from 'components/Text/Text'; @@ -21,7 +22,7 @@ interface PhoneConnectorProps { onTabChange: (tab: UserSettingsTab) => void; } -export const PhoneConnector = (props: PhoneConnectorProps) => { +export const PhoneConnector = observer((props: PhoneConnectorProps) => { const { id, onTabChange } = props; const store = useStore(); @@ -174,4 +175,4 @@ export const PhoneConnector = (props: PhoneConnectorProps) => { )} ); -}; +}); diff --git a/grafana-plugin/src/containers/UserSettings/parts/connectors/SlackConnector.tsx b/grafana-plugin/src/containers/UserSettings/parts/connectors/SlackConnector.tsx index 2985ea13..c0592ad3 100644 --- a/grafana-plugin/src/containers/UserSettings/parts/connectors/SlackConnector.tsx +++ b/grafana-plugin/src/containers/UserSettings/parts/connectors/SlackConnector.tsx @@ -1,6 +1,7 @@ import React, { useCallback, useMemo } from 'react'; import { Button, HorizontalGroup, InlineField, Input } from '@grafana/ui'; +import { observer } from 'mobx-react'; import { WithConfirm } from 'components/WithConfirm/WithConfirm'; import { UserSettingsTab } from 'containers/UserSettings/UserSettings.types'; @@ -13,7 +14,7 @@ interface SlackConnectorProps { onTabChange: (tab: UserSettingsTab) => void; } -export const SlackConnector = (props: SlackConnectorProps) => { +export const SlackConnector = observer((props: SlackConnectorProps) => { const { id, onTabChange } = props; const store = useStore(); @@ -93,4 +94,4 @@ export const SlackConnector = (props: SlackConnectorProps) => { )} ); -}; +}); diff --git a/grafana-plugin/src/containers/UserSettings/parts/connectors/TelegramConnector.tsx b/grafana-plugin/src/containers/UserSettings/parts/connectors/TelegramConnector.tsx index cf326b67..1a37b4a4 100644 --- a/grafana-plugin/src/containers/UserSettings/parts/connectors/TelegramConnector.tsx +++ b/grafana-plugin/src/containers/UserSettings/parts/connectors/TelegramConnector.tsx @@ -1,6 +1,7 @@ import React, { useCallback } from 'react'; import { Button, HorizontalGroup, InlineField, Input } from '@grafana/ui'; +import { observer } from 'mobx-react'; import { WithConfirm } from 'components/WithConfirm/WithConfirm'; import { UserSettingsTab } from 'containers/UserSettings/UserSettings.types'; @@ -12,7 +13,7 @@ interface TelegramConnectorProps { onTabChange: (tab: UserSettingsTab) => void; } -export const TelegramConnector = (props: TelegramConnectorProps) => { +export const TelegramConnector = observer((props: TelegramConnectorProps) => { const { id, onTabChange } = props; const store = useStore(); @@ -58,4 +59,4 @@ export const TelegramConnector = (props: TelegramConnectorProps) => { ); -}; +}); diff --git a/grafana-plugin/src/models/user/user.ts b/grafana-plugin/src/models/user/user.ts index 7968c2a8..c7e74e6b 100644 --- a/grafana-plugin/src/models/user/user.ts +++ b/grafana-plugin/src/models/user/user.ts @@ -129,12 +129,12 @@ export class UserStore { } async unlinkSlack(userPk: ApiSchemas['User']['pk']) { - await onCallApi().POST('/users/{id}/unlink_slack/', undefined); + await onCallApi().POST('/users/{id}/unlink_slack/', { params: { path: { id: userPk } } }); await this.fetchItemById({ userPk }); } async unlinkTelegram(userPk: ApiSchemas['User']['pk']) { - await onCallApi().POST('/users/{id}/unlink_telegram/', undefined); + await onCallApi().POST('/users/{id}/unlink_telegram/', { params: { path: { id: userPk } } }); await this.fetchItemById({ userPk }); }