mirror of
https://github.com/makeplane/plane.git
synced 2026-07-13 05:49:40 +02:00
* feat: epic updates wip * feat: create endpoint for epic update * feat: delete, get, update endpoint for epic updates * feat: comments endpoint * feat: update reaction endpoints * refactor: code refactor * wip: epic updates * fix: epic update minor bug fixes * WIP * feat: endpoint to list updates * feat: patch and delete endpoint for update feat: get and post for comments feat: post adn delete for reactions * chore: use EntityTypeEnum instead of hardcoding * fix: add cancelled issues count * chore: return project and epic details * refactor: fetching project and epic details * feat: initiative updates * fix: i18n changes * fix: i18n changes * fix: i18n * fix: initiative updates * fix: translations + reaction bug * feat: filter based on status * fix: removed updates for initiatives * fix: initiative updates * chore: added updates in initiative analytics * fix: refactor * chore: optimised the initiative updates query * chore: added description_html * fix: refactor * fix: list view on click * fix: return only latest record * fix: handled epic and project addition and deletion * fix: build * fix: popover component * fix: latest updates returning all status's latest one * fix: local update * fix: text overflow issue * fix: icon colors * fix: update status on project attributes returning same update --------- Co-authored-by: sangeethailango <sangeethailango21@gmail.com> Co-authored-by: NarayanBavisetti <narayan3119@gmail.com>
214 lines
8.5 KiB
TypeScript
214 lines
8.5 KiB
TypeScript
// plane web store
|
|
import { IIssuePropertiesActivityStore, IIssueTypesStore } from "@plane/types";
|
|
import {
|
|
CustomerProperties,
|
|
CustomerStore,
|
|
ICustomerPropertiesStore,
|
|
ICustomersStore,
|
|
} from "@/plane-web/store/customers";
|
|
import { ICycleStore, CycleStore } from "@/plane-web/store/cycle";
|
|
import { FeatureFlagsStore, IFeatureFlagsStore } from "@/plane-web/store/feature-flags/feature-flags.store";
|
|
import { IssuePropertiesActivityStore, IssueTypes } from "@/plane-web/store/issue-types";
|
|
import {
|
|
IWorkspaceNotificationStore,
|
|
WorkspaceNotificationStore,
|
|
} from "@/plane-web/store/notifications/notifications.store";
|
|
import { IPublishPageStore, PublishPageStore } from "@/plane-web/store/pages/publish-page.store";
|
|
import { IWorkspacePageStore, WorkspacePageStore } from "@/plane-web/store/pages/workspace-page.store";
|
|
import {
|
|
ISelfHostedSubscriptionStore,
|
|
SelfHostedSubscriptionStore,
|
|
} from "@/plane-web/store/subscription/self-hosted-subscription.store";
|
|
import {
|
|
IWorkspaceSubscriptionStore,
|
|
WorkspaceSubscriptionStore,
|
|
} from "@/plane-web/store/subscription/subscription.store";
|
|
import { ITeamspaceRootStore, TeamspaceRootStore } from "@/plane-web/store/teamspace";
|
|
import { TimeLineStore } from "@/plane-web/store/timeline";
|
|
import { IWorkspaceFeatureStore, WorkspaceFeatureStore } from "@/plane-web/store/workspace-feature.store";
|
|
import {
|
|
IProjectFilterStore,
|
|
ProjectFilterStore,
|
|
IWorkspaceProjectStatesStore,
|
|
WorkspaceProjectStatesStore,
|
|
} from "@/plane-web/store/workspace-project-states";
|
|
import {
|
|
IWorkspaceWorklogStore,
|
|
WorkspaceWorklogStore,
|
|
IWorkspaceWorklogDownloadStore,
|
|
WorkspaceWorklogDownloadStore,
|
|
} from "@/plane-web/store/workspace-worklog";
|
|
// store
|
|
import { CoreRootStore } from "@/store/root.store";
|
|
// dashboards
|
|
import { BaseDashboardsStore, IBaseDashboardsStore } from "./dashboards/base-dashboards.store";
|
|
// importers
|
|
import {
|
|
IJiraStore,
|
|
JiraStore,
|
|
IJiraServerStore,
|
|
JiraServerStore,
|
|
ILinearStore,
|
|
IFlatfileStore,
|
|
LinearStore,
|
|
IAsanaStore,
|
|
AsanaStore,
|
|
FlatfileStore,
|
|
} from "./importers";
|
|
// initiative
|
|
import { IInitiativeFilterStore, InitiativeFilterStore } from "./initiatives/initiatives-filter.store";
|
|
import { IInitiativeStore, InitiativeStore } from "./initiatives/initiatives.store";
|
|
// integrations
|
|
import {
|
|
ISlackStore,
|
|
SlackStore,
|
|
IGithubStore,
|
|
GithubStore,
|
|
IGitlabStore,
|
|
GitlabStore,
|
|
IConnectionStore,
|
|
ConnectionStore,
|
|
} from "./integrations";
|
|
// pi chat
|
|
import { EpicAnalytics, IEpicAnalyticStore } from "./issue/epic/analytic.store";
|
|
import { EpicBaseStore, IEpicBaseStore } from "./issue/epic/base.store";
|
|
import { IPiChatStore, PiChatStore } from "./pi-chat/pi-chat";
|
|
// timeline
|
|
import { IProjectInboxStore, ProjectInboxStore } from "./project-inbox.store";
|
|
import { IProjectStore, ProjectStore } from "./projects/projects";
|
|
// templates
|
|
import { ITemplatesRootStore, TemplatesRootStore } from "./templates/store/root.store";
|
|
// timeline
|
|
import { ITimelineStore } from "./timeline";
|
|
|
|
export class RootStore extends CoreRootStore {
|
|
workspacePages: IWorkspacePageStore;
|
|
publishPage: IPublishPageStore;
|
|
workspaceSubscription: IWorkspaceSubscriptionStore;
|
|
workspaceWorklogs: IWorkspaceWorklogStore;
|
|
workspaceWorklogDownloads: IWorkspaceWorklogDownloadStore;
|
|
featureFlags: IFeatureFlagsStore;
|
|
selfHostedSubscription: ISelfHostedSubscriptionStore;
|
|
workspaceFeatures: IWorkspaceFeatureStore;
|
|
workspaceProjectStates: IWorkspaceProjectStatesStore;
|
|
projectFilter: IProjectFilterStore;
|
|
issueTypes: IIssueTypesStore;
|
|
issuePropertiesActivity: IIssuePropertiesActivityStore;
|
|
cycle: ICycleStore;
|
|
piChat: IPiChatStore;
|
|
timelineStore: ITimelineStore;
|
|
projectDetails: IProjectStore;
|
|
teamspaceRoot: ITeamspaceRootStore;
|
|
workspaceNotification: IWorkspaceNotificationStore;
|
|
projectInbox: IProjectInboxStore;
|
|
customersStore: ICustomersStore;
|
|
customerPropertiesStore: ICustomerPropertiesStore;
|
|
// importers
|
|
jiraImporter: IJiraStore;
|
|
jiraServerImporter: IJiraServerStore;
|
|
linearImporter: ILinearStore;
|
|
asanaImporter: IAsanaStore;
|
|
flatfileImporter: IFlatfileStore;
|
|
// integrations
|
|
connections: IConnectionStore;
|
|
slackIntegration: ISlackStore;
|
|
githubIntegration: IGithubStore;
|
|
gitlabIntegration: IGitlabStore;
|
|
initiativeFilterStore: IInitiativeFilterStore;
|
|
initiativeStore: IInitiativeStore;
|
|
// dashboards
|
|
baseDashboards: IBaseDashboardsStore;
|
|
// epics
|
|
epicAnalytics: IEpicAnalyticStore;
|
|
epicBaseStore: IEpicBaseStore;
|
|
// templates
|
|
templatesRoot: ITemplatesRootStore;
|
|
|
|
constructor() {
|
|
super();
|
|
this.workspacePages = new WorkspacePageStore(this);
|
|
this.publishPage = new PublishPageStore(this);
|
|
this.workspaceSubscription = new WorkspaceSubscriptionStore(this);
|
|
this.workspaceWorklogs = new WorkspaceWorklogStore(this);
|
|
this.workspaceWorklogDownloads = new WorkspaceWorklogDownloadStore(this);
|
|
this.featureFlags = new FeatureFlagsStore(this);
|
|
this.selfHostedSubscription = new SelfHostedSubscriptionStore(this);
|
|
this.workspaceFeatures = new WorkspaceFeatureStore(this);
|
|
this.workspaceProjectStates = new WorkspaceProjectStatesStore(this);
|
|
this.issueTypes = new IssueTypes(this);
|
|
this.issuePropertiesActivity = new IssuePropertiesActivityStore(this);
|
|
this.projectFilter = new ProjectFilterStore(this);
|
|
this.cycle = new CycleStore(this);
|
|
this.piChat = new PiChatStore(this);
|
|
this.timelineStore = new TimeLineStore(this);
|
|
this.projectDetails = new ProjectStore(this);
|
|
this.teamspaceRoot = new TeamspaceRootStore(this);
|
|
this.workspaceNotification = new WorkspaceNotificationStore(this);
|
|
this.projectInbox = new ProjectInboxStore(this);
|
|
this.customersStore = new CustomerStore(this);
|
|
this.customerPropertiesStore = new CustomerProperties(this);
|
|
// importers
|
|
this.jiraImporter = new JiraStore(this);
|
|
this.jiraServerImporter = new JiraServerStore(this);
|
|
this.linearImporter = new LinearStore(this);
|
|
this.asanaImporter = new AsanaStore(this);
|
|
this.flatfileImporter = new FlatfileStore(this);
|
|
// integrations
|
|
this.connections = new ConnectionStore(this);
|
|
this.slackIntegration = new SlackStore(this);
|
|
this.githubIntegration = new GithubStore(this);
|
|
this.gitlabIntegration = new GitlabStore(this);
|
|
this.initiativeFilterStore = new InitiativeFilterStore(this);
|
|
this.initiativeStore = new InitiativeStore(this, this.initiativeFilterStore);
|
|
// dashboards
|
|
this.baseDashboards = new BaseDashboardsStore(this);
|
|
// epics
|
|
this.epicAnalytics = new EpicAnalytics(this);
|
|
this.epicBaseStore = new EpicBaseStore(this);
|
|
// templates
|
|
this.templatesRoot = new TemplatesRootStore(this);
|
|
}
|
|
|
|
resetOnSignOut() {
|
|
super.resetOnSignOut();
|
|
this.workspacePages = new WorkspacePageStore(this);
|
|
this.publishPage = new PublishPageStore(this);
|
|
this.workspaceSubscription = new WorkspaceSubscriptionStore(this);
|
|
this.workspaceWorklogs = new WorkspaceWorklogStore(this);
|
|
this.workspaceWorklogDownloads = new WorkspaceWorklogDownloadStore(this);
|
|
this.featureFlags = new FeatureFlagsStore(this);
|
|
this.selfHostedSubscription = new SelfHostedSubscriptionStore(this);
|
|
this.workspaceFeatures = new WorkspaceFeatureStore(this);
|
|
this.workspaceProjectStates = new WorkspaceProjectStatesStore(this);
|
|
this.issueTypes = new IssueTypes(this);
|
|
this.issuePropertiesActivity = new IssuePropertiesActivityStore(this);
|
|
this.projectFilter = new ProjectFilterStore(this);
|
|
this.cycle = new CycleStore(this);
|
|
this.piChat = new PiChatStore(this);
|
|
this.timelineStore = new TimeLineStore(this);
|
|
this.projectDetails = new ProjectStore(this);
|
|
this.teamspaceRoot = new TeamspaceRootStore(this);
|
|
this.customersStore = new CustomerStore(this);
|
|
this.customerPropertiesStore = new CustomerProperties(this);
|
|
// importers
|
|
this.jiraImporter = new JiraStore(this);
|
|
this.jiraServerImporter = new JiraServerStore(this);
|
|
this.linearImporter = new LinearStore(this);
|
|
this.asanaImporter = new AsanaStore(this);
|
|
this.flatfileImporter = new FlatfileStore(this);
|
|
// integrations
|
|
this.connections = new ConnectionStore(this);
|
|
this.slackIntegration = new SlackStore(this);
|
|
this.githubIntegration = new GithubStore(this);
|
|
this.gitlabIntegration = new GitlabStore(this);
|
|
this.initiativeFilterStore = new InitiativeFilterStore(this);
|
|
this.initiativeStore = new InitiativeStore(this, this.initiativeFilterStore);
|
|
// dashboards
|
|
this.baseDashboards = new BaseDashboardsStore(this);
|
|
// epics
|
|
this.epicAnalytics = new EpicAnalytics(this);
|
|
// templates
|
|
this.templatesRoot = new TemplatesRootStore(this);
|
|
}
|
|
}
|