plane/web/types/projects.d.ts

153 lines
2.9 KiB
TypeScript
Raw Normal View History

import type {
IIssueFilterOptions,
IUserLite,
IWorkspace,
IWorkspaceLite,
IUserMemberLite,
TIssueGroupByOptions,
TIssueOrderByOptions,
TIssueViewOptions,
TStateGroups,
IProjectViewProps,
} from ".";
2022-11-19 14:21:26 +00:00
export interface IProject {
archive_in: number;
close_in: number;
2022-11-19 14:21:26 +00:00
created_at: Date;
created_by: string;
cover_image: string | null;
cycle_view: boolean;
feat: inbox (#1023) * dev: initialize inbox * dev: inbox and inbox issues models, views and serializers * dev: issue object filter for inbox * dev: filter for search issues * dev: inbox snooze and duplicates * dev: set duplicate to null by default * feat: inbox ui and services * feat: project detail in inbox * style: layout, popover, icons, sidebar * dev: default inbox for project and pending issues count * dev: fix exception when creating default inbox * fix: empty state for inbox * dev: auto issue state updation when rejected or marked duplicate * fix: inbox update status * fix: hydrating chose with old values filters workflow * feat: inbox issue filtering * fix: issue inbox filtering * feat: filter inbox issues * refactor: analytics, border colors * dev: filters and views for inbox * dev: source for inboxissue and update list inbox issue * dev: update list endpoint to house filters and additional data * dev: bridge id for list * dev: remove print logs * dev: update inbox issue workflow * dev: add description_html in issue details * fix: inbox track event auth, chore: inbox issue action authorization * fix: removed unnecessary api calls * style: viewed issues * fix: priority validation * dev: remove print logs * dev: update issue inbox update workflow * chore: added inbox view context * fix: type errors * fix: build errors and warnings * dev: update issue inbox workflow and log all the changes * fix: filters logic, sidebar fields to show * dev: update issue filtering status * chore: update create inbox issue modal, fix: mutation issues * dev: update issue accept workflow * chore: add comment to inbox issues * chore: remove inboxIssueId from url after deleting * dev: update the issue triage workflow * fix: mutation after issue status change * chore: issue details sidebar divider * fix: issue activity for inbox issues * dev: update inbox perrmissions * dev: create new permission layer * chore: auth layer for inbox * chore: show accepting status * chore: show issue status at the top of issue details --------- Co-authored-by: Dakshesh Jain <dakshesh.jain14@gmail.com> Co-authored-by: gurusainath <gurusainath007@gmail.com> Co-authored-by: Aaryan Khandelwal <aaryankhandu123@gmail.com>
2023-06-16 13:27:17 +00:00
issue_views_view: boolean;
module_view: boolean;
page_view: boolean;
inbox_view: boolean;
default_assignee: IUser | string | null;
default_state: string | null;
2022-11-19 14:21:26 +00:00
description: string;
emoji: string | null;
emoji_and_icon:
| string
| {
name: string;
color: string;
}
| null;
estimate: string | null;
icon_prop: {
name: string;
color: string;
} | null;
id: string;
2022-11-19 14:21:26 +00:00
identifier: string;
is_deployed: boolean;
is_favorite: boolean;
is_member: boolean;
member_role: 5 | 10 | 15 | 20 | null;
issue_views_view: boolean;
module_view: boolean;
name: string;
network: number;
page_view: boolean;
project_lead: IUserLite | string | null;
sort_order: number | null;
2022-11-19 14:21:26 +00:00
slug: string;
2023-05-16 05:11:37 +00:00
total_cycles: number;
total_members: number;
total_modules: number;
updated_at: Date;
2022-11-19 14:21:26 +00:00
updated_by: string;
workspace: IWorkspace | string;
workspace_detail: IWorkspaceLite;
}
export interface IProjectLite {
id: string;
name: string;
identifier: string;
2022-11-19 14:21:26 +00:00
}
type ProjectPreferences = {
pages: {
block_display: boolean;
};
};
export interface IProjectMember {
id: string;
member: IUserMemberLite;
project: IProjectLite;
workspace: IWorkspaceLite;
comment: string;
role: 5 | 10 | 15 | 20;
preferences: ProjectPreferences;
view_props: IProjectViewProps;
default_props: IProjectViewProps;
created_at: Date;
updated_at: Date;
created_by: string;
updated_by: string;
}
export interface IProjectMemberInvitation {
id: string;
project: IProject;
workspace: IWorkspace;
email: string;
accepted: boolean;
token: string;
message: string;
responded_at: Date;
role: 5 | 10 | 15 | 20;
created_at: Date;
updated_at: Date;
created_by: string;
updated_by: string;
}
export interface IProjectBulkInviteFormData {
members: { role: 5 | 10 | 15 | 20; member_id: string }[];
}
export interface IGithubRepository {
id: string;
full_name: string;
html_url: string;
url: string;
}
export interface GithubRepositoriesResponse {
repositories: IGithubRepository[];
total_count: number;
}
export type TProjectIssuesSearchParams = {
search: string;
parent?: boolean;
blocker_blocked_by?: boolean;
cycle?: boolean;
module?: boolean;
sub_issue?: boolean;
issue_id?: string;
workspace_search: boolean;
};
export interface ISearchIssueResponse {
id: string;
name: string;
project_id: string;
project__identifier: string;
project__name: string;
sequence_id: number;
state__color: string;
state__group: TStateGroups;
state__name: string;
workspace__slug: string;
}