From 1b1d41605be4f6b751e4dac469bd3d1d5fb75010 Mon Sep 17 00:00:00 2001 From: IMB11 Date: Wed, 11 Jun 2025 23:32:39 +0100 Subject: [PATCH] refactor: Huge pyro servers composable cleanup (#3745) * refactor: start refactor of pyro servers module-based class * refactor: finish modules * refactor: start on type checking + matching api * refactor: finish pyro servers composable refactor * refactor: pyro -> modrinth * fix: import not refactored * fix: broken power action enums * fix: remove pyro mentions * fix: lint * refactor: fix option pages * fix: error renames * remove empty pyro-servers.ts file --------- Signed-off-by: IMB11 Co-authored-by: Prospector --- .idea/vcs.xml | 6 + .../ui/servers/BackupCreateModal.vue | 8 +- .../ui/servers/BackupDeleteModal.vue | 6 +- .../src/components/ui/servers/BackupItem.vue | 2 +- .../ui/servers/BackupRenameModal.vue | 7 +- .../ui/servers/BackupRestoreModal.vue | 5 +- .../ui/servers/BackupSettingsModal.vue | 4 +- .../ui/servers/ContentVersionEditModal.vue | 2 +- .../ui/servers/FilesUploadDropdown.vue | 2 +- .../ui/servers/FilesUploadZipUrlModal.vue | 21 +- .../ui/servers/PanelServerActionButton.vue | 32 +- .../ui/servers/PanelServerStatus.vue | 9 +- .../components/ui/servers/PanelTerminal.vue | 4 +- .../PlatformChangeModpackVersionModal.vue | 10 +- .../ui/servers/PlatformMrpackModal.vue | 7 +- .../ui/servers/PlatformVersionSelectModal.vue | 9 +- .../src/components/ui/servers/SaveBanner.vue | 4 +- .../ui/servers/ServerInstallation.vue | 6 +- .../components/ui/servers/ServerListing.vue | 7 +- .../components/ui/servers/ServerSidebar.vue | 4 +- .../src/components/ui/servers/ServerStats.vue | 2 +- .../ui/servers/icons/LoaderIcon.vue | 2 +- .../servers/marketing/ServerPlanSelector.vue | 2 +- .../ui/servers/notice/AssignNoticeModal.vue | 22 +- .../ui/servers/notice/NoticeDashboardItem.vue | 9 +- apps/frontend/src/composables/pyroFetch.ts | 112 - apps/frontend/src/composables/pyroServers.ts | 1903 ----------------- .../composables/servers/modrinth-servers.ts | 265 +++ .../composables/servers/modules/backups.ts | 79 + .../src/composables/servers/modules/base.ts | 15 + .../composables/servers/modules/content.ts | 36 + .../src/composables/servers/modules/fs.ts | 224 ++ .../composables/servers/modules/general.ts | 173 ++ .../src/composables/servers/modules/index.ts | 8 + .../composables/servers/modules/network.ts | 47 + .../composables/servers/modules/startup.ts | 26 + .../src/composables/servers/modules/ws.ts | 13 + .../src/composables/servers/servers-fetch.ts | 188 ++ .../src/pages/admin/servers/notices.vue | 10 +- apps/frontend/src/pages/servers/index.vue | 9 +- .../src/pages/servers/manage/[id].vue | 61 +- .../src/pages/servers/manage/[id]/backups.vue | 11 +- .../src/pages/servers/manage/[id]/content.vue | 4 +- .../servers/manage/[id]/content/index.vue | 11 +- .../src/pages/servers/manage/[id]/files.vue | 19 +- .../src/pages/servers/manage/[id]/index.vue | 6 +- .../src/pages/servers/manage/[id]/options.vue | 4 +- .../servers/manage/[id]/options/index.vue | 5 +- .../servers/manage/[id]/options/info.vue | 4 +- .../servers/manage/[id]/options/loader.vue | 4 +- .../servers/manage/[id]/options/network.vue | 10 +- .../manage/[id]/options/preferences.vue | 4 +- .../manage/[id]/options/properties.vue | 13 +- .../servers/manage/[id]/options/startup.vue | 10 +- .../src/pages/servers/manage/index.vue | 10 +- .../src/pages/settings/billing/index.vue | 5 +- apps/frontend/src/store/console.ts | 2 +- apps/frontend/src/types/servers.ts | 284 --- packages/ui/src/utils/notices.ts | 4 +- packages/utils/index.ts | 1 + packages/utils/package.json | 1 + packages/utils/servers/errors/index.ts | 3 + .../servers/errors/modrinth-server-error.ts | 59 + .../errors/modrinth-servers-fetch-error.ts | 10 + .../errors/modrinth-servers-multi-error.ts | 27 + packages/utils/servers/index.ts | 2 + packages/utils/servers/types/api.ts | 19 + packages/utils/servers/types/backup.ts | 28 + packages/utils/servers/types/common.ts | 59 + packages/utils/servers/types/content.ts | 13 + packages/utils/servers/types/filesystem.ts | 33 + packages/utils/servers/types/index.ts | 8 + packages/utils/servers/types/server.ts | 76 + packages/utils/servers/types/stats.ts | 20 + packages/utils/servers/types/websocket.ts | 124 ++ packages/utils/types.ts | 19 - pnpm-lock.yaml | 31 +- 77 files changed, 1791 insertions(+), 2513 deletions(-) delete mode 100644 apps/frontend/src/composables/pyroFetch.ts delete mode 100644 apps/frontend/src/composables/pyroServers.ts create mode 100644 apps/frontend/src/composables/servers/modrinth-servers.ts create mode 100644 apps/frontend/src/composables/servers/modules/backups.ts create mode 100644 apps/frontend/src/composables/servers/modules/base.ts create mode 100644 apps/frontend/src/composables/servers/modules/content.ts create mode 100644 apps/frontend/src/composables/servers/modules/fs.ts create mode 100644 apps/frontend/src/composables/servers/modules/general.ts create mode 100644 apps/frontend/src/composables/servers/modules/index.ts create mode 100644 apps/frontend/src/composables/servers/modules/network.ts create mode 100644 apps/frontend/src/composables/servers/modules/startup.ts create mode 100644 apps/frontend/src/composables/servers/modules/ws.ts create mode 100644 apps/frontend/src/composables/servers/servers-fetch.ts delete mode 100644 apps/frontend/src/types/servers.ts create mode 100644 packages/utils/servers/errors/index.ts create mode 100644 packages/utils/servers/errors/modrinth-server-error.ts create mode 100644 packages/utils/servers/errors/modrinth-servers-fetch-error.ts create mode 100644 packages/utils/servers/errors/modrinth-servers-multi-error.ts create mode 100644 packages/utils/servers/index.ts create mode 100644 packages/utils/servers/types/api.ts create mode 100644 packages/utils/servers/types/backup.ts create mode 100644 packages/utils/servers/types/common.ts create mode 100644 packages/utils/servers/types/content.ts create mode 100644 packages/utils/servers/types/filesystem.ts create mode 100644 packages/utils/servers/types/index.ts create mode 100644 packages/utils/servers/types/server.ts create mode 100644 packages/utils/servers/types/stats.ts create mode 100644 packages/utils/servers/types/websocket.ts diff --git a/.idea/vcs.xml b/.idea/vcs.xml index 35eb1ddfb..7ddfc9ed4 100644 --- a/.idea/vcs.xml +++ b/.idea/vcs.xml @@ -1,5 +1,11 @@ + + + + + + diff --git a/apps/frontend/src/components/ui/servers/BackupCreateModal.vue b/apps/frontend/src/components/ui/servers/BackupCreateModal.vue index f055b4b0d..427142a58 100644 --- a/apps/frontend/src/components/ui/servers/BackupCreateModal.vue +++ b/apps/frontend/src/components/ui/servers/BackupCreateModal.vue @@ -45,9 +45,11 @@ import { ref, nextTick, computed } from "vue"; import { ButtonStyled, NewModal } from "@modrinth/ui"; import { IssuesIcon, PlusIcon, XIcon } from "@modrinth/assets"; +import { ModrinthServersFetchError, type ServerBackup } from "@modrinth/utils"; +import { ModrinthServer } from "~/composables/servers/modrinth-servers.ts"; const props = defineProps<{ - server: Server<["general", "content", "backups", "network", "startup", "ws", "fs"]>; + server: ModrinthServer; }>(); const modal = ref>(); @@ -64,7 +66,7 @@ const trimmedName = computed(() => backupName.value.trim()); const nameExists = computed(() => { if (!props.server.backups?.data) return false; return props.server.backups.data.some( - (backup) => backup.name.trim().toLowerCase() === trimmedName.value.toLowerCase(), + (backup: ServerBackup) => backup.name.trim().toLowerCase() === trimmedName.value.toLowerCase(), ); }); @@ -98,7 +100,7 @@ const createBackup = async () => { hideModal(); await props.server.refresh(); } catch (error) { - if (error instanceof PyroFetchError && error.statusCode === 429) { + if (error instanceof ModrinthServersFetchError && error?.statusCode === 429) { isRateLimited.value = true; addNotification({ type: "error", diff --git a/apps/frontend/src/components/ui/servers/BackupDeleteModal.vue b/apps/frontend/src/components/ui/servers/BackupDeleteModal.vue index 632919c61..35b5bfc78 100644 --- a/apps/frontend/src/components/ui/servers/BackupDeleteModal.vue +++ b/apps/frontend/src/components/ui/servers/BackupDeleteModal.vue @@ -20,13 +20,9 @@