Files
plane/web/ee/store/root.store.ts
Nikhil 4e8bfe0024 dev: feature flagging implementation (#443)
* dev: initialize feature flagging

* dev: feature flagging workspace active cycles

* dev: update feature flag implementation

* dev: add `FEATURE_FLAG_SERVER_AUTH_TOKEN` env

* dev: add feature flagging for backend apis

* dev: setup feature flags store and hooks. (#558)

* dev: setup feature flags store and hooks.

* minor improvements for swr key and flags enum.

* dev: workspace active cycles feature flag. (#562)

* dev: add task for cancelling the workspace subscription when the workspace is deleted

* dev: rename feaure flagging component

* dev: update feature flagging function for spaces

* dev: add feature flags for bulk ops, issue embeds and page publish. (#589)

* dev: add logging for member sync task

* dev: restrict workspace from deleting if the subscription is active

* dev: workspace delete check endpoint

* dev: subscription endpoint check

* dev: update subscriptions

* chore: plane pro billing and plans page updates.

* dev: update pro pill display logic.

* dev: fix feature flagging

* chore: minor improvement in cloud-badge to avoid API calls to `products` endpoint if user has PRO subscription.

---------

Co-authored-by: Prateek Shourya <prateekshourya29@gmail.com>
Co-authored-by: sriram veeraghanta <veeraghanta.sriram@gmail.com>
2024-07-11 15:14:18 +05:30

34 lines
1.2 KiB
TypeScript

// plane web store
import { FeatureFlagsStore, IFeatureFlagsStore } from "@/plane-web/store/feature-flags/feature-flags.store";
import { IPublishPageStore, PublishPageStore } from "@/plane-web/store/pages/publish-page.store";
import { IWorkspacePageStore, WorkspacePageStore } from "@/plane-web/store/pages/workspace-page.store";
import {
IWorkspaceSubscriptionStore,
WorkspaceSubscriptionStore,
} from "@/plane-web/store/subscription/subscription.store";
// store
import { CoreRootStore } from "@/store/root.store";
export class RootStore extends CoreRootStore {
workspacePages: IWorkspacePageStore;
publishPage: IPublishPageStore;
workspaceSubscription: IWorkspaceSubscriptionStore;
featureFlags: IFeatureFlagsStore;
constructor() {
super();
this.workspacePages = new WorkspacePageStore(this);
this.publishPage = new PublishPageStore(this);
this.workspaceSubscription = new WorkspaceSubscriptionStore(this);
this.featureFlags = new FeatureFlagsStore();
}
resetOnSignOut() {
super.resetOnSignOut();
this.workspacePages = new WorkspacePageStore(this);
this.publishPage = new PublishPageStore(this);
this.workspaceSubscription = new WorkspaceSubscriptionStore(this);
this.featureFlags = new FeatureFlagsStore();
}
}