From 42f582acaeb146e705659e56fc50589f4141e998 Mon Sep 17 00:00:00 2001 From: Rahulcheryala Date: Thu, 4 Jun 2026 13:17:25 +0530 Subject: [PATCH] refactor: migrate services (project-export, project-archive, project-member) from apps/web to @plane/services --- apps/web/core/components/exporter/export-form.tsx | 2 +- apps/web/core/components/exporter/export-modal.tsx | 2 +- .../web/core/store/member/project/base-project-member.store.ts | 2 +- apps/web/core/store/project/project.store.ts | 2 +- apps/web/core/store/user/base-permissions.store.ts | 3 ++- .../services/src}/project/project-archive.service.ts | 2 +- .../services/src}/project/project-export.service.ts | 2 +- .../services/src}/project/project-member.service.ts | 2 +- 8 files changed, 9 insertions(+), 8 deletions(-) rename {apps/web/core/services => packages/services/src}/project/project-archive.service.ts (94%) rename {apps/web/core/services => packages/services/src}/project/project-export.service.ts (93%) rename {apps/web/core/services => packages/services/src}/project/project-member.service.ts (97%) diff --git a/apps/web/core/components/exporter/export-form.tsx b/apps/web/core/components/exporter/export-form.tsx index 8fde52e1bf..bd43521dc2 100644 --- a/apps/web/core/components/exporter/export-form.tsx +++ b/apps/web/core/components/exporter/export-form.tsx @@ -26,7 +26,7 @@ import { CustomSearchSelect, CustomSelect } from "@plane/ui"; // import { WorkItemFiltersRow } from "@/components/work-item-filters/filters-row"; import { useProject } from "@/hooks/store/use-project"; import { useUser, useUserPermissions } from "@/hooks/store/user"; -import { ProjectExportService } from "@/services/project/project-export.service"; +import { ProjectExportService } from "@plane/services"; // local imports import { SettingsBoxedControlItem } from "../settings/boxed-control-item"; diff --git a/apps/web/core/components/exporter/export-modal.tsx b/apps/web/core/components/exporter/export-modal.tsx index bf840de6e5..37f7317fac 100644 --- a/apps/web/core/components/exporter/export-modal.tsx +++ b/apps/web/core/components/exporter/export-modal.tsx @@ -20,7 +20,7 @@ import { useProject } from "@/hooks/store/use-project"; import { useUser } from "@/hooks/store/user"; import { useAppRouter } from "@/hooks/use-app-router"; // services -import { ProjectExportService } from "@/services/project"; +import { ProjectExportService } from "@plane/services"; type Props = { isOpen: boolean; handleClose: () => void; diff --git a/apps/web/core/store/member/project/base-project-member.store.ts b/apps/web/core/store/member/project/base-project-member.store.ts index 701089a09e..1b6953c770 100644 --- a/apps/web/core/store/member/project/base-project-member.store.ts +++ b/apps/web/core/store/member/project/base-project-member.store.ts @@ -19,7 +19,7 @@ import type { // plane web imports import type { RootStore } from "@/plane-web/store/root.store"; // services -import { ProjectMemberService, ProjectService } from "@/services/project"; +import { ProjectMemberService, ProjectService } from "@plane/services"; // store import type { IProjectStore } from "@/store/project/project.store"; import type { IRouterStore } from "@/store/router.store"; diff --git a/apps/web/core/store/project/project.store.ts b/apps/web/core/store/project/project.store.ts index 5cadeaa7dc..4e8c5928df 100644 --- a/apps/web/core/store/project/project.store.ts +++ b/apps/web/core/store/project/project.store.ts @@ -14,7 +14,7 @@ import { orderProjects, shouldFilterProject } from "@plane/utils"; // services import type { TProject, TPartialProject } from "@plane/types"; import { IssueLabelService, IssueService } from "@/services/issue"; -import { ProjectService, ProjectStateService, ProjectArchiveService } from "@/services/project"; +import { ProjectService, ProjectStateService, ProjectArchiveService } from "@plane/services"; // store import type { CoreRootStore } from "../root.store"; diff --git a/apps/web/core/store/user/base-permissions.store.ts b/apps/web/core/store/user/base-permissions.store.ts index 8810ab26cd..98f5781553 100644 --- a/apps/web/core/store/user/base-permissions.store.ts +++ b/apps/web/core/store/user/base-permissions.store.ts @@ -20,11 +20,12 @@ import { EUserWorkspaceRoles } from "@plane/types"; import { WorkspaceService } from "@/services/workspace.service"; import type { RootStore } from "@/plane-web/store/root.store"; // services -import projectMemberService from "@/services/project/project-member.service"; +import { ProjectMemberService } from "@plane/services"; import userService from "@/services/user.service"; // derived services const workspaceService = new WorkspaceService(); +const projectMemberService = new ProjectMemberService(); type ETempUserRole = TUserPermissions | EUserWorkspaceRoles | EUserProjectRoles; // TODO: Remove this once we have migrated user permissions to enums to plane constants package diff --git a/apps/web/core/services/project/project-archive.service.ts b/packages/services/src/project/project-archive.service.ts similarity index 94% rename from apps/web/core/services/project/project-archive.service.ts rename to packages/services/src/project/project-archive.service.ts index b60763f707..e9f24be3b2 100644 --- a/apps/web/core/services/project/project-archive.service.ts +++ b/packages/services/src/project/project-archive.service.ts @@ -7,7 +7,7 @@ // helpers import { API_BASE_URL } from "@plane/constants"; // services -import { APIService } from "@/services/api.service"; +import { APIService } from "../api.service"; export class ProjectArchiveService extends APIService { constructor() { diff --git a/apps/web/core/services/project/project-export.service.ts b/packages/services/src/project/project-export.service.ts similarity index 93% rename from apps/web/core/services/project/project-export.service.ts rename to packages/services/src/project/project-export.service.ts index 73dd1249c9..aea961e7c5 100644 --- a/apps/web/core/services/project/project-export.service.ts +++ b/packages/services/src/project/project-export.service.ts @@ -6,7 +6,7 @@ import { API_BASE_URL } from "@plane/constants"; import type { TWorkItemFilterExpression } from "@plane/types"; -import { APIService } from "@/services/api.service"; +import { APIService } from "../api.service"; // helpers export class ProjectExportService extends APIService { diff --git a/apps/web/core/services/project/project-member.service.ts b/packages/services/src/project/project-member.service.ts similarity index 97% rename from apps/web/core/services/project/project-member.service.ts rename to packages/services/src/project/project-member.service.ts index 037fc1fd78..dff4bbe0a1 100644 --- a/apps/web/core/services/project/project-member.service.ts +++ b/packages/services/src/project/project-member.service.ts @@ -8,7 +8,7 @@ import { API_BASE_URL } from "@plane/constants"; import type { IProjectBulkAddFormData, TProjectMembership } from "@plane/types"; // services -import { APIService } from "@/services/api.service"; +import { APIService } from "../api.service"; export class ProjectMemberService extends APIService { constructor() {