From 7639d500e66ab90734893dcb4b91eb293ad720ae Mon Sep 17 00:00:00 2001 From: jackkav Date: Thu, 23 Apr 2026 15:41:03 +0200 Subject: [PATCH] refactor: move main-only sync helpers Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../{sync/vcs => main/cloud-sync}/create-vcs.ts | 6 +++--- .../cloud-sync}/pull-backend-project.ts | 8 ++++---- packages/insomnia/src/main/cloud-sync/vcs.ts | 7 +++---- .../src/sync/__schemas__/type-schemas.ts | 11 +++++++++-- packages/insomnia/src/sync/types.ts | 8 ++++++++ .../sync/vcs/normalize-backend-project-team.ts | 17 ----------------- packages/insomnia/src/sync/vcs/vcs.ts | 2 +- 7 files changed, 28 insertions(+), 31 deletions(-) rename packages/insomnia/src/{sync/vcs => main/cloud-sync}/create-vcs.ts (66%) rename packages/insomnia/src/{sync/vcs => main/cloud-sync}/pull-backend-project.ts (93%) delete mode 100644 packages/insomnia/src/sync/vcs/normalize-backend-project-team.ts diff --git a/packages/insomnia/src/sync/vcs/create-vcs.ts b/packages/insomnia/src/main/cloud-sync/create-vcs.ts similarity index 66% rename from packages/insomnia/src/sync/vcs/create-vcs.ts rename to packages/insomnia/src/main/cloud-sync/create-vcs.ts index 47d93ff451..c09c6b6fe3 100644 --- a/packages/insomnia/src/sync/vcs/create-vcs.ts +++ b/packages/insomnia/src/main/cloud-sync/create-vcs.ts @@ -1,6 +1,6 @@ -import FileSystemDriver from '../store/drivers/file-system-driver'; -import type { MergeConflict } from '../types'; -import { VCS } from './vcs'; +import FileSystemDriver from '../../sync/store/drivers/file-system-driver'; +import type { MergeConflict } from '../../sync/types'; +import { VCS } from '../../sync/vcs/vcs'; export type ConflictHandler = ( conflicts: MergeConflict[], diff --git a/packages/insomnia/src/sync/vcs/pull-backend-project.ts b/packages/insomnia/src/main/cloud-sync/pull-backend-project.ts similarity index 93% rename from packages/insomnia/src/sync/vcs/pull-backend-project.ts rename to packages/insomnia/src/main/cloud-sync/pull-backend-project.ts index ad052dab8b..6a9392df45 100644 --- a/packages/insomnia/src/sync/vcs/pull-backend-project.ts +++ b/packages/insomnia/src/main/cloud-sync/pull-backend-project.ts @@ -1,11 +1,11 @@ import { type RemoteProject, type Workspace } from '~/insomnia-data'; import { database, models } from '~/insomnia-data'; +import type { BackendProjectWithTeam } from '~/sync/types'; import { DEFAULT_BRANCH_NAME } from '../../common/constants'; -import type { BackendProjectWithTeam } from './normalize-backend-project-team'; -import { interceptAccessError } from './util'; -import type { VCS } from './vcs'; - +import { interceptAccessError } from '../../sync/vcs/util'; +import type { VCS } from '../../sync/vcs/vcs'; + interface Options { vcs: VCS; backendProject: BackendProjectWithTeam; diff --git a/packages/insomnia/src/main/cloud-sync/vcs.ts b/packages/insomnia/src/main/cloud-sync/vcs.ts index e006c45011..189bec7028 100644 --- a/packages/insomnia/src/main/cloud-sync/vcs.ts +++ b/packages/insomnia/src/main/cloud-sync/vcs.ts @@ -4,12 +4,11 @@ import { randomUUID } from 'node:crypto'; import { app, type WebContents } from 'electron'; import type { RemoteProject } from '~/insomnia-data'; +import type { BackendProjectWithTeam, MergeConflict } from '~/sync/types'; import { services } from '~/insomnia-data'; -import type { MergeConflict } from '~/sync/types'; -import { createVCS } from '~/sync/vcs/create-vcs'; +import { createVCS } from '~/main/cloud-sync/create-vcs'; import { UserAbortResolveMergeConflictError } from '~/sync/vcs/errors'; -import type { BackendProjectWithTeam } from '~/sync/vcs/normalize-backend-project-team'; -import { pullBackendProject } from '~/sync/vcs/pull-backend-project'; +import { pullBackendProject } from '~/main/cloud-sync/pull-backend-project'; import type { VCS } from '~/sync/vcs/vcs'; import { invariant } from '~/utils/invariant'; diff --git a/packages/insomnia/src/sync/__schemas__/type-schemas.ts b/packages/insomnia/src/sync/__schemas__/type-schemas.ts index 35a58f2233..95f0405f9d 100644 --- a/packages/insomnia/src/sync/__schemas__/type-schemas.ts +++ b/packages/insomnia/src/sync/__schemas__/type-schemas.ts @@ -1,8 +1,15 @@ import { createBuilder, type Schema } from '@develohpanda/fluent-builder'; import { baseModelSchema } from '../../models/__schemas__/model-schemas'; -import type { BackendProject, Branch, MergeConflict, SnapshotStateEntry, StatusCandidate, Team } from '../types'; -import type { BackendProjectWithTeam } from '../vcs/normalize-backend-project-team'; +import type { + BackendProject, + BackendProjectWithTeam, + Branch, + MergeConflict, + SnapshotStateEntry, + StatusCandidate, + Team, +} from '../types'; export const projectSchema: Schema = { id: () => 'id', diff --git a/packages/insomnia/src/sync/types.ts b/packages/insomnia/src/sync/types.ts index 5eb7fdb59d..760796f7d5 100644 --- a/packages/insomnia/src/sync/types.ts +++ b/packages/insomnia/src/sync/types.ts @@ -11,6 +11,14 @@ export interface BackendProject { rootDocumentId: string; } +export interface BackendProjectWithTeams extends BackendProject { + teams: Team[]; +} + +export interface BackendProjectWithTeam extends BackendProject { + team: Team; +} + export type DocumentKey = string; export type BlobId = string; diff --git a/packages/insomnia/src/sync/vcs/normalize-backend-project-team.ts b/packages/insomnia/src/sync/vcs/normalize-backend-project-team.ts deleted file mode 100644 index a36bb05264..0000000000 --- a/packages/insomnia/src/sync/vcs/normalize-backend-project-team.ts +++ /dev/null @@ -1,17 +0,0 @@ -import type { BackendProject, Team } from '../types'; - -export interface BackendProjectWithTeams extends BackendProject { - teams: Team[]; -} - -export interface BackendProjectWithTeam extends BackendProject { - team: Team; -} - -export const normalizeBackendProjectTeam = (backend: BackendProjectWithTeams): BackendProjectWithTeam => ({ - id: backend.id, - name: backend.name, - rootDocumentId: backend.rootDocumentId, - // A backend project is guaranteed to exist on exactly one team - team: backend.teams[0], -}); diff --git a/packages/insomnia/src/sync/vcs/vcs.ts b/packages/insomnia/src/sync/vcs/vcs.ts index 8723a2dd41..4c4ea99e7b 100644 --- a/packages/insomnia/src/sync/vcs/vcs.ts +++ b/packages/insomnia/src/sync/vcs/vcs.ts @@ -19,6 +19,7 @@ import type { BaseDriver } from '../store/drivers/base'; import compress from '../store/hooks/compress'; import type { BackendProject, + BackendProjectWithTeams, Branch, DocumentKey, Head, @@ -29,7 +30,6 @@ import type { StageEntry, StatusCandidate, } from '../types'; -import type { BackendProjectWithTeams } from './normalize-backend-project-team'; import { compareBranches, generateCandidateMap,