mirror of
https://github.com/makeplane/plane
synced 2024-06-14 14:31:34 +00:00
79347ec62b
* dev: initiate external apis * dev: external api * dev: external public api implementation * dev: add prefix to all api tokens * dev: flag to enable disable api token api access * dev: webhook model create and apis * dev: webhook settings * fix: webhook logs * chore: removed drf spectacular * dev: remove retry_count and fix api logging for get requests * dev: refactor webhook logic * fix: celery retry mechanism * chore: event and action change * chore: migrations changes * dev: proxy setup for apis * chore: changed retry time and cleanup * chore: added issue comment and inbox issue api endpoints * fix: migration files * fix: added env variables * fix: removed issue attachment from proxy * fix: added new migration file * fix: restricted wehbook access * chore: changed urls * chore: fixed porject serializer * fix: set expire for api token * fix: retrive endpoint for api token * feat: Api Token screens & api integration * dev: webhook endpoint changes * dev: add fields for webhook updates * feat: Download Api secret key * chore: removed BASE API URL * feat: revoke token access * dev: migration fixes * feat: workspace webhooks (#2748) * feat: workspace webhook store, services integeration and rendered webhook list and create * chore: handled webhook update and rengenerate token in workspace webhooks * feat: regenerate key and delete functionality --------- Co-authored-by: Ramesh Kumar <rameshkumar@rameshs-MacBook-Pro.local> Co-authored-by: gurusainath <gurusainath007@gmail.com> Co-authored-by: Ramesh Kumar Chandra <rameshkumar2299@gmail.com> * fix: url validation added * fix: seperated env for webhook and api * Web hooks refactoring * add show option for generated hook key * Api token restructure * webhook minor fixes * fix build errors * chore: improvements in file structring * dev: rate limiting the open apis --------- Co-authored-by: pablohashescobar <nikhilschacko@gmail.com> Co-authored-by: LAKHAN BAHETI <lakhanbaheti9@gmail.com> Co-authored-by: rahulramesha <71900764+rahulramesha@users.noreply.github.com> Co-authored-by: Ramesh Kumar <rameshkumar@rameshs-MacBook-Pro.local> Co-authored-by: gurusainath <gurusainath007@gmail.com> Co-authored-by: Ramesh Kumar Chandra <rameshkumar2299@gmail.com> Co-authored-by: Nikhil <118773738+pablohashescobar@users.noreply.github.com> Co-authored-by: sriram veeraghanta <veeraghanta.sriram@gmail.com> Co-authored-by: rahulramesha <rahulramesham@gmail.com>
254 lines
7.7 KiB
TypeScript
254 lines
7.7 KiB
TypeScript
import { enableStaticRendering } from "mobx-react-lite";
|
|
// store imports
|
|
import AppConfigStore, { IAppConfigStore } from "./app-config.store";
|
|
import CommandPaletteStore, { ICommandPaletteStore } from "./command-palette.store";
|
|
import UserStore, { IUserStore } from "store/user.store";
|
|
import ThemeStore, { IThemeStore } from "store/theme.store";
|
|
import {
|
|
DraftIssuesStore,
|
|
IIssueDetailStore,
|
|
IIssueFilterStore,
|
|
IIssueKanBanViewStore,
|
|
IIssueStore,
|
|
IssueDetailStore,
|
|
IssueFilterStore,
|
|
IssueKanBanViewStore,
|
|
IIssueCalendarViewStore,
|
|
IssueCalendarViewStore,
|
|
IssueStore,
|
|
IIssueQuickAddStore,
|
|
IssueQuickAddStore,
|
|
} from "store/issue";
|
|
import {
|
|
IWorkspaceFilterStore,
|
|
IWorkspaceStore,
|
|
WorkspaceFilterStore,
|
|
WorkspaceStore,
|
|
WorkspaceMemberStore,
|
|
IWorkspaceMemberStore,
|
|
} from "store/workspace";
|
|
import {
|
|
IProjectPublishStore,
|
|
IProjectStore,
|
|
ProjectPublishStore,
|
|
ProjectStore,
|
|
IProjectStateStore,
|
|
ProjectStateStore,
|
|
IProjectLabelStore,
|
|
ProjectLabelStore,
|
|
ProjectEstimatesStore,
|
|
IProjectEstimateStore,
|
|
ProjectMemberStore,
|
|
IProjectMemberStore,
|
|
} from "store/project";
|
|
import {
|
|
IModuleFilterStore,
|
|
IModuleIssueKanBanViewStore,
|
|
IModuleIssueStore,
|
|
IModuleStore,
|
|
ModuleFilterStore,
|
|
ModuleIssueKanBanViewStore,
|
|
ModuleIssueStore,
|
|
IModuleIssueCalendarViewStore,
|
|
ModuleIssueCalendarViewStore,
|
|
ModuleStore,
|
|
} from "store/module";
|
|
import {
|
|
CycleIssueFilterStore,
|
|
CycleIssueKanBanViewStore,
|
|
CycleIssueStore,
|
|
CycleStore,
|
|
ICycleIssueFilterStore,
|
|
ICycleIssueKanBanViewStore,
|
|
ICycleIssueCalendarViewStore,
|
|
CycleIssueCalendarViewStore,
|
|
ICycleIssueStore,
|
|
ICycleStore,
|
|
} from "store/cycle";
|
|
import {
|
|
IProjectViewFiltersStore,
|
|
IProjectViewIssuesStore,
|
|
IProjectViewsStore,
|
|
ProjectViewFiltersStore,
|
|
ProjectViewIssuesStore,
|
|
ProjectViewsStore,
|
|
IProjectViewIssueCalendarViewStore,
|
|
ProjectViewIssueCalendarViewStore,
|
|
} from "store/project-view";
|
|
import CalendarStore, { ICalendarStore } from "store/calendar.store";
|
|
import {
|
|
GlobalViewFiltersStore,
|
|
GlobalViewIssuesStore,
|
|
GlobalViewsStore,
|
|
IGlobalViewFiltersStore,
|
|
IGlobalViewIssuesStore,
|
|
IGlobalViewsStore,
|
|
} from "store/global-view";
|
|
import {
|
|
ProfileIssueStore,
|
|
IProfileIssueStore,
|
|
ProfileIssueFilterStore,
|
|
IProfileIssueFilterStore,
|
|
} from "store/profile-issues";
|
|
import {
|
|
ArchivedIssueStore,
|
|
IArchivedIssueStore,
|
|
ArchivedIssueFilterStore,
|
|
IArchivedIssueFilterStore,
|
|
ArchivedIssueDetailStore,
|
|
IArchivedIssueDetailStore,
|
|
} from "store/archived-issues";
|
|
import { DraftIssueStore, IDraftIssueStore, DraftIssueFilterStore, IDraftIssueFilterStore } from "store/draft-issues";
|
|
import {
|
|
IInboxFiltersStore,
|
|
IInboxIssueDetailsStore,
|
|
IInboxIssuesStore,
|
|
IInboxStore,
|
|
InboxFiltersStore,
|
|
InboxIssueDetailsStore,
|
|
InboxIssuesStore,
|
|
InboxStore,
|
|
} from "store/inbox";
|
|
import { IWebhookStore, WebhookStore } from "./webhook.store";
|
|
|
|
import { IMentionsStore, MentionsStore } from "store/editor";
|
|
|
|
enableStaticRendering(typeof window === "undefined");
|
|
|
|
export class RootStore {
|
|
user: IUserStore;
|
|
theme: IThemeStore;
|
|
appConfig: IAppConfigStore;
|
|
commandPalette: ICommandPaletteStore;
|
|
|
|
workspace: IWorkspaceStore;
|
|
workspaceFilter: IWorkspaceFilterStore;
|
|
workspaceMember: IWorkspaceMemberStore;
|
|
|
|
projectPublish: IProjectPublishStore;
|
|
project: IProjectStore;
|
|
projectState: IProjectStateStore;
|
|
projectLabel: IProjectLabelStore;
|
|
projectEstimates: IProjectEstimateStore;
|
|
projectMember: IProjectMemberStore;
|
|
|
|
issue: IIssueStore;
|
|
|
|
module: IModuleStore;
|
|
moduleIssue: IModuleIssueStore;
|
|
moduleFilter: IModuleFilterStore;
|
|
moduleIssueKanBanView: IModuleIssueKanBanViewStore;
|
|
moduleIssueCalendarView: IModuleIssueCalendarViewStore;
|
|
|
|
cycle: ICycleStore;
|
|
cycleIssue: ICycleIssueStore;
|
|
cycleIssueFilter: ICycleIssueFilterStore;
|
|
cycleIssueKanBanView: ICycleIssueKanBanViewStore;
|
|
cycleIssueCalendarView: ICycleIssueCalendarViewStore;
|
|
|
|
projectViews: IProjectViewsStore;
|
|
projectViewIssues: IProjectViewIssuesStore;
|
|
projectViewFilters: IProjectViewFiltersStore;
|
|
projectViewIssueCalendarView: IProjectViewIssueCalendarViewStore;
|
|
|
|
issueFilter: IIssueFilterStore;
|
|
issueDetail: IIssueDetailStore;
|
|
issueKanBanView: IIssueKanBanViewStore;
|
|
issueCalendarView: IIssueCalendarViewStore;
|
|
draftIssuesStore: DraftIssuesStore;
|
|
quickAddIssue: IIssueQuickAddStore;
|
|
|
|
calendar: ICalendarStore;
|
|
|
|
globalViews: IGlobalViewsStore;
|
|
globalViewIssues: IGlobalViewIssuesStore;
|
|
globalViewFilters: IGlobalViewFiltersStore;
|
|
|
|
profileIssues: IProfileIssueStore;
|
|
profileIssueFilters: IProfileIssueFilterStore;
|
|
|
|
archivedIssues: IArchivedIssueStore;
|
|
archivedIssueDetail: IArchivedIssueDetailStore;
|
|
archivedIssueFilters: IArchivedIssueFilterStore;
|
|
|
|
draftIssues: IDraftIssueStore;
|
|
draftIssueFilters: IDraftIssueFilterStore;
|
|
|
|
inbox: IInboxStore;
|
|
inboxIssues: IInboxIssuesStore;
|
|
inboxIssueDetails: IInboxIssueDetailsStore;
|
|
inboxFilters: IInboxFiltersStore;
|
|
|
|
webhook: IWebhookStore;
|
|
|
|
mentionsStore: IMentionsStore;
|
|
|
|
constructor() {
|
|
this.appConfig = new AppConfigStore(this);
|
|
this.commandPalette = new CommandPaletteStore(this);
|
|
this.user = new UserStore(this);
|
|
this.theme = new ThemeStore(this);
|
|
|
|
this.workspace = new WorkspaceStore(this);
|
|
this.workspaceFilter = new WorkspaceFilterStore(this);
|
|
this.workspaceMember = new WorkspaceMemberStore(this);
|
|
|
|
this.project = new ProjectStore(this);
|
|
this.projectState = new ProjectStateStore(this);
|
|
this.projectLabel = new ProjectLabelStore(this);
|
|
this.projectEstimates = new ProjectEstimatesStore(this);
|
|
this.projectPublish = new ProjectPublishStore(this);
|
|
this.projectMember = new ProjectMemberStore(this);
|
|
|
|
this.module = new ModuleStore(this);
|
|
this.moduleIssue = new ModuleIssueStore(this);
|
|
this.moduleFilter = new ModuleFilterStore(this);
|
|
this.moduleIssueKanBanView = new ModuleIssueKanBanViewStore(this);
|
|
this.moduleIssueCalendarView = new ModuleIssueCalendarViewStore(this);
|
|
|
|
this.cycle = new CycleStore(this);
|
|
this.cycleIssue = new CycleIssueStore(this);
|
|
this.cycleIssueFilter = new CycleIssueFilterStore(this);
|
|
this.cycleIssueKanBanView = new CycleIssueKanBanViewStore(this);
|
|
this.cycleIssueCalendarView = new CycleIssueCalendarViewStore(this);
|
|
|
|
this.projectViews = new ProjectViewsStore(this);
|
|
this.projectViewIssues = new ProjectViewIssuesStore(this);
|
|
this.projectViewFilters = new ProjectViewFiltersStore(this);
|
|
this.projectViewIssueCalendarView = new ProjectViewIssueCalendarViewStore(this);
|
|
|
|
this.issue = new IssueStore(this);
|
|
this.issueFilter = new IssueFilterStore(this);
|
|
this.issueDetail = new IssueDetailStore(this);
|
|
this.issueKanBanView = new IssueKanBanViewStore(this);
|
|
this.issueCalendarView = new IssueCalendarViewStore(this);
|
|
this.draftIssuesStore = new DraftIssuesStore(this);
|
|
this.quickAddIssue = new IssueQuickAddStore(this);
|
|
|
|
this.calendar = new CalendarStore(this);
|
|
|
|
this.globalViews = new GlobalViewsStore(this);
|
|
this.globalViewIssues = new GlobalViewIssuesStore(this);
|
|
this.globalViewFilters = new GlobalViewFiltersStore(this);
|
|
|
|
this.profileIssues = new ProfileIssueStore(this);
|
|
this.profileIssueFilters = new ProfileIssueFilterStore(this);
|
|
|
|
this.archivedIssues = new ArchivedIssueStore(this);
|
|
this.archivedIssueDetail = new ArchivedIssueDetailStore(this);
|
|
this.archivedIssueFilters = new ArchivedIssueFilterStore(this);
|
|
|
|
this.draftIssues = new DraftIssueStore(this);
|
|
this.draftIssueFilters = new DraftIssueFilterStore(this);
|
|
|
|
this.inbox = new InboxStore(this);
|
|
this.inboxIssues = new InboxIssuesStore(this);
|
|
this.inboxIssueDetails = new InboxIssueDetailsStore(this);
|
|
this.inboxFilters = new InboxFiltersStore(this);
|
|
|
|
this.webhook = new WebhookStore(this);
|
|
|
|
this.mentionsStore = new MentionsStore(this);
|
|
}
|
|
}
|