plane/app/types/issues.d.ts
sriram veeraghanta 1538b99a28 removing trubo
2023-04-21 19:30:36 -04:00

281 lines
5.7 KiB
TypeScript

import type {
IState,
IUser,
IProject,
ICycle,
IModule,
IUserLite,
IProjectLite,
IWorkspaceLite,
} from "types";
export interface IIssueCycle {
id: string;
cycle_detail: ICycle;
created_at: Date;
updated_at: Date;
created_by: string;
updated_by: string;
project: string;
workspace: string;
issue: string;
cycle: string;
}
export interface IIssueModule {
created_at: Date;
created_by: string;
id: string;
issue: string;
module: string;
module_detail: IModule;
project: string;
updated_at: Date;
updated_by: string;
workspace: string;
}
export interface IIssueCycle {
created_at: Date;
created_by: string;
cycle: string;
cycle_detail: ICycle;
id: string;
issue: string;
project: string;
updated_at: Date;
updated_by: string;
workspace: string;
}
export interface IIssueParent {
description: any;
id: string;
name: string;
priority: string | null;
sequence_id: number;
start_date: string | null;
target_date: string | null;
}
export interface IIssueLink {
title: string;
url: string;
}
export interface IIssue {
assignees: string[];
assignee_details: IUser[];
assignees_list: string[];
attachment_count: number;
attachments: any[];
blocked_by_issue_details: any[];
blocked_issue_details: any[];
blocked_issues: BlockeIssue[];
blocked_list: string[];
blocker_issues: BlockeIssue[];
blockers: any[];
blockers_list: string[];
blocks_list: string[];
bridge_id?: string | null;
completed_at: Date;
created_at: Date;
created_by: string;
cycle: string | null;
cycle_id: string | null;
cycle_detail: ICycle | null;
description: any;
description_html: any;
description_stripped: any;
estimate_point: number | null;
id: string;
issue_cycle: IIssueCycle | null;
issue_link: {
created_at: Date;
created_by: string;
created_by_detail: IUserLite;
id: string;
metadata: any;
title: string;
url: string;
}[];
issue_module: IIssueModule | null;
label_details: any[];
links_list: IIssueLink[];
link_count: number;
module: string | null;
module_id: string | null;
name: string;
parent: string | null;
parent_detail: IIssueParent | null;
priority: string | null;
project: string;
project_detail: IProjectLite;
sequence_id: number;
sort_order: number;
sprints: string | null;
start_date: string | null;
state: string;
state_detail: IState;
sub_issues_count: number;
target_date: string | null;
updated_at: Date;
updated_by: string;
workspace: string;
workspace_detail: IWorkspaceLite;
labels: any[];
labels_list: string[];
}
export interface BlockeIssue {
id: string;
blocked_issue_detail?: BlockeIssueDetail;
created_at: Date;
updated_at: Date;
created_by: string;
updated_by: string;
project: string;
workspace: string;
block: string;
blocked_by: string;
blocker_issue_detail?: BlockeIssueDetail;
}
export interface BlockeIssueDetail {
id: string;
name: string;
description: string;
priority: null;
start_date: null;
target_date: null;
}
export interface IIssueComment {
id: string;
actor: string;
actor_detail: IUserLite;
created_at: Date;
updated_at: Date;
comment: string;
comment_html: string;
comment_json: any;
attachments: any[];
created_by: string;
updated_by: string;
project: string;
project_detail: IProjectLite;
workspace: string;
workspace_detail: IWorkspaceLite;
issue: string;
}
export type IssuePriorities = {
id: string;
created_at: Date;
updated_at: Date;
uuid: string;
properties: Properties;
created_by: number;
updated_by: number;
user: string;
};
export type Properties = {
assignee: boolean;
due_date: boolean;
labels: boolean;
key: boolean;
priority: boolean;
state: boolean;
sub_issue_count: boolean;
link: boolean;
attachment_count: boolean;
estimate: boolean;
};
export interface IIssueLabels {
id: string;
created_at: Date;
updated_at: Date;
name: string;
description: string;
color: string;
created_by: string;
updated_by: string;
project: string;
project_detail: IProjectLite;
workspace: string;
workspace_detail: IWorkspaceLite;
parent: string | null;
}
export interface IIssueActivity {
id: string;
actor_detail: IUserLite;
created_at: Date;
updated_at: Date;
verb: string;
field: string | null;
old_value: string | null;
new_value: string | null;
comment: string;
attachments: any[];
old_identifier: string | null;
new_identifier: string | null;
created_by: string;
updated_by: string;
project: string;
workspace: string;
issue: string;
issue_comment: string | null;
actor: string;
}
export interface IIssueLite {
id: string;
name: string;
project_id: string;
target_date: string;
workspace__slug: string;
}
export interface IIssueFilterOptions {
type: "active" | "backlog" | null;
assignees: string[] | null;
state: string[] | null;
labels: string[] | null;
issue__assignees__id: string[] | null;
issue__labels__id: string[] | null;
priority: string[] | null;
created_by: string[] | null;
}
export type TIssueViewOptions = "list" | "kanban" | "calendar";
export type TIssueGroupByOptions = "state" | "priority" | "labels" | "created_by" | null;
export type TIssueOrderByOptions = "-created_at" | "updated_at" | "priority" | "sort_order";
export interface IIssueViewOptions {
group_by: TIssueGroupByOptions;
order_by: TIssueOrderByOptions;
filters: IIssueFilterOptions;
target_date: string;
}
export interface IIssueAttachment {
asset: string;
attributes: {
name: string;
size: number;
};
created_at: string;
created_by: string;
id: string;
issue: string;
project: string;
updated_at: string;
updated_by: string;
workspace: string;
}