diff --git a/packages/backend/src/graphql/queries/get-notifications.js b/packages/backend/src/graphql/queries/get-notifications.js deleted file mode 100644 index c36eb442..00000000 --- a/packages/backend/src/graphql/queries/get-notifications.js +++ /dev/null @@ -1,16 +0,0 @@ -import axios from '../../helpers/axios-with-proxy.js'; - -const NOTIFICATIONS_URL = - 'https://notifications.automatisch.io/notifications.json'; - -const getNotifications = async () => { - try { - const { data: notifications = [] } = await axios.get(NOTIFICATIONS_URL); - - return notifications; - } catch (err) { - return []; - } -}; - -export default getNotifications; diff --git a/packages/backend/src/graphql/query-resolvers.js b/packages/backend/src/graphql/query-resolvers.js index bb8b9286..b2926a29 100644 --- a/packages/backend/src/graphql/query-resolvers.js +++ b/packages/backend/src/graphql/query-resolvers.js @@ -7,7 +7,6 @@ import getConnectedApps from './queries/get-connected-apps.js'; import getDynamicData from './queries/get-dynamic-data.js'; import getDynamicFields from './queries/get-dynamic-fields.js'; import getFlow from './queries/get-flow.js'; -import getNotifications from './queries/get-notifications.js'; import getStepWithTestExecutions from './queries/get-step-with-test-executions.js'; import testConnection from './queries/test-connection.js'; @@ -21,7 +20,6 @@ const queryResolvers = { getDynamicData, getDynamicFields, getFlow, - getNotifications, getStepWithTestExecutions, testConnection, }; diff --git a/packages/backend/src/graphql/schema.graphql b/packages/backend/src/graphql/schema.graphql index 4201af01..a2d6c215 100644 --- a/packages/backend/src/graphql/schema.graphql +++ b/packages/backend/src/graphql/schema.graphql @@ -18,7 +18,6 @@ type Query { ): [SubstepArgument] getBillingAndUsage: GetBillingAndUsage getConfig(keys: [String]): JSONObject - getNotifications: [Notification] } type Mutation { @@ -665,13 +664,6 @@ input UpdateAppAuthClientInput { active: Boolean } -type Notification { - name: String - createdAt: String - documentationUrl: String - description: String -} - schema { query: Query mutation: Mutation diff --git a/packages/backend/src/helpers/authentication.js b/packages/backend/src/helpers/authentication.js index 1e34a8fd..867aa33c 100644 --- a/packages/backend/src/helpers/authentication.js +++ b/packages/backend/src/helpers/authentication.js @@ -43,7 +43,6 @@ export const authenticationRules = { Query: { '*': isAuthenticatedRule, getConfig: allow, - getNotifications: allow, }, Mutation: { '*': isAuthenticatedRule, diff --git a/packages/web/src/graphql/queries/get-notifications.js b/packages/web/src/graphql/queries/get-notifications.js deleted file mode 100644 index d020f1ee..00000000 --- a/packages/web/src/graphql/queries/get-notifications.js +++ /dev/null @@ -1,11 +0,0 @@ -import { gql } from '@apollo/client'; -export const GET_NOTIFICATIONS = gql` - query GetNotifications { - getNotifications { - name - createdAt - documentationUrl - description - } - } -`; diff --git a/packages/web/src/hooks/useAutomatischNotifications.js b/packages/web/src/hooks/useAutomatischNotifications.js new file mode 100644 index 00000000..3e52a7ce --- /dev/null +++ b/packages/web/src/hooks/useAutomatischNotifications.js @@ -0,0 +1,16 @@ +import { useQuery } from '@tanstack/react-query'; +import api from 'helpers/api'; + +export default function useAutomatischNotifications() { + const query = useQuery({ + queryKey: ['automatisch', 'notifications'], + queryFn: async ({ signal }) => { + const { data } = await api.get(`/v1/automatisch/notifications`, { + signal, + }); + return data; + }, + }); + + return query; +} diff --git a/packages/web/src/hooks/useNotifications.js b/packages/web/src/hooks/useNotifications.js deleted file mode 100644 index d0477c6d..00000000 --- a/packages/web/src/hooks/useNotifications.js +++ /dev/null @@ -1,10 +0,0 @@ -import { useQuery } from '@apollo/client'; -import { GET_NOTIFICATIONS } from 'graphql/queries/get-notifications'; -export default function useNotifications() { - const { data, loading } = useQuery(GET_NOTIFICATIONS); - const notifications = data?.getNotifications || []; - return { - loading, - notifications, - }; -} diff --git a/packages/web/src/hooks/useVersion.js b/packages/web/src/hooks/useVersion.js index d92c1087..d5073544 100644 --- a/packages/web/src/hooks/useVersion.js +++ b/packages/web/src/hooks/useVersion.js @@ -1,11 +1,11 @@ import { compare } from 'compare-versions'; import { useQuery } from '@tanstack/react-query'; -import useNotifications from 'hooks/useNotifications'; +import useAutomatischNotifications from 'hooks/useAutomatischNotifications'; import api from 'helpers/api'; export default function useVersion() { - const { notifications } = useNotifications(); + const { data: notificationsData } = useAutomatischNotifications(); const { data } = useQuery({ queryKey: ['automatischVersion'], queryFn: async ({ signal }) => { @@ -17,6 +17,7 @@ export default function useVersion() { }, }); const version = data?.data?.version; + const notifications = notificationsData?.data || []; const newVersionCount = notifications.reduce((count, notification) => { if (!version) return 0; diff --git a/packages/web/src/pages/Notifications/index.jsx b/packages/web/src/pages/Notifications/index.jsx index 637dbe45..eb4b8316 100644 --- a/packages/web/src/pages/Notifications/index.jsx +++ b/packages/web/src/pages/Notifications/index.jsx @@ -9,14 +9,15 @@ import PageTitle from 'components/PageTitle'; import * as URLS from 'config/urls'; import useAutomatischInfo from 'hooks/useAutomatischInfo'; import useFormatMessage from 'hooks/useFormatMessage'; -import useNotifications from 'hooks/useNotifications'; +import useAutomatischNotifications from 'hooks/useAutomatischNotifications'; export default function Updates() { const navigate = useNavigate(); const formatMessage = useFormatMessage(); - const { notifications } = useNotifications(); + const { data: notificationsData } = useAutomatischNotifications(); const { data: automatischInfo, isPending } = useAutomatischInfo(); const isMation = automatischInfo?.data.isMation; + const notifications = notificationsData?.data || []; React.useEffect( function redirectToHomepageInMation() {