diff --git a/apps/meteor/app/cloud/server/methods.ts b/apps/meteor/app/cloud/server/methods.ts index 797ed964c17..e6a6402fe56 100644 --- a/apps/meteor/app/cloud/server/methods.ts +++ b/apps/meteor/app/cloud/server/methods.ts @@ -40,6 +40,10 @@ declare module '@rocket.chat/ui-contexts' { } Meteor.methods({ + /** + * @deprecated this method is deprecated and will be removed soon. + * Prefer using cloud.registrationStatus rest api. + */ async 'cloud:checkRegisterStatus'() { const uid = Meteor.userId(); diff --git a/apps/meteor/client/sidebar/header/actions/hooks/useAdministrationItems.tsx b/apps/meteor/client/sidebar/header/actions/hooks/useAdministrationItems.tsx index ea678413a16..531545b20a4 100644 --- a/apps/meteor/client/sidebar/header/actions/hooks/useAdministrationItems.tsx +++ b/apps/meteor/client/sidebar/header/actions/hooks/useAdministrationItems.tsx @@ -65,11 +65,6 @@ export const useAdministrationItems = (): GenericMenuItemProps[] => { const isAdmin = useRole('admin'); const setModal = useSetModal(); - // TODO: DEPRECATE IT - // const checkCloudRegisterStatus = useMethod('cloud:checkRegisterStatus'); - // const result = useQuery(['admin/cloud/register-status'], async () => checkCloudRegisterStatus()); - // const { workspaceRegistered } = result.data || {}; - const { data: registrationStatusData } = useRegistrationStatus(); const workspaceRegistered = registrationStatusData?.registrationStatus?.workspaceRegistered ?? false; diff --git a/apps/meteor/client/startup/startup.ts b/apps/meteor/client/startup/startup.ts index 9295eacce24..440b55ce5e6 100644 --- a/apps/meteor/client/startup/startup.ts +++ b/apps/meteor/client/startup/startup.ts @@ -71,7 +71,9 @@ Meteor.startup(() => { return; } - const { connectToCloud, workspaceRegistered } = await sdk.call('cloud:checkRegisterStatus'); + const { + registrationStatus: { connectToCloud, workspaceRegistered }, + } = await sdk.rest.get('/v1/cloud.registrationStatus'); c.stop(); if (connectToCloud === true && workspaceRegistered !== true) { diff --git a/apps/meteor/client/views/admin/cloud/RegisterWorkspace.tsx b/apps/meteor/client/views/admin/cloud/RegisterWorkspace.tsx index 9e4e479f16f..694d437de8d 100644 --- a/apps/meteor/client/views/admin/cloud/RegisterWorkspace.tsx +++ b/apps/meteor/client/views/admin/cloud/RegisterWorkspace.tsx @@ -1,10 +1,9 @@ import { Box, Tag } from '@rocket.chat/fuselage'; -import { useMutableCallback } from '@rocket.chat/fuselage-hooks'; -import { useSetModal, useMethod, useTranslation } from '@rocket.chat/ui-contexts'; -import { useQuery } from '@tanstack/react-query'; +import { useSetModal, useTranslation } from '@rocket.chat/ui-contexts'; import React from 'react'; import Page from '../../../components/Page'; +import { useRegistrationStatus } from '../../../hooks/useRegistrationStatus'; import ManualWorkspaceRegistrationModal from './ManualWorkspaceRegistrationModal'; import RegisterWorkspaceCards from './components/RegisterWorkspaceCards'; import RegisterWorkspaceMenu from './components/RegisterWorkspaceMenu'; @@ -15,30 +14,28 @@ const RegisterWorkspace = () => { const t = useTranslation(); const setModal = useSetModal(); - const checkCloudRegisterStatus = useMethod('cloud:checkRegisterStatus'); - const result = useQuery(['admin/cloud/register-status'], async () => checkCloudRegisterStatus()); - const reload = useMutableCallback(() => result.refetch()); + const { data: registrationStatusData, isLoading, isError, refetch } = useRegistrationStatus(); + const isWorkspaceRegistered = registrationStatusData?.registrationStatus?.workspaceRegistered ?? false; + const isConnectedToCloud = registrationStatusData?.registrationStatus?.connectToCloud ?? false; - if (result.isLoading || result.isError) { + if (isLoading || isError) { return null; } - const { connectToCloud: isConnectedToCloud, workspaceRegistered: isWorkspaceRegistered } = result.data; - const handleRegisterWorkspaceClick = (): void => { const handleModalClose = (): void => { setModal(null); - reload(); + refetch(); }; if (isWorkspaceRegistered) { - setModal(); - } else setModal(); + setModal(); + } else setModal(); }; const handleManualWorkspaceRegistrationButton = (): void => { const handleModalClose = (): void => { setModal(null); - reload(); + refetch(); }; setModal(); }; @@ -70,7 +67,7 @@ const RegisterWorkspace = () => { isWorkspaceRegistered={isWorkspaceRegistered} isConnectedToCloud={isConnectedToCloud} onClick={handleRegisterWorkspaceClick} - onStatusChange={reload} + onStatusChange={refetch} onClickOfflineRegistration={handleManualWorkspaceRegistrationButton} />