plane/web/types/modules.d.ts
sriram veeraghanta 3ce0aa8ebc restructring
2023-08-22 13:00:23 +05:30

80 lines
1.8 KiB
TypeScript

import type {
IUser,
IUserLite,
IIssue,
IProject,
IWorkspace,
IWorkspaceLite,
IProjectLite,
IIssueFilterOptions,
linkDetails,
} from "types";
export interface IModule {
backlog_issues: number;
cancelled_issues: number;
completed_issues: number;
created_at: Date;
created_by: string;
description: string;
description_text: any;
description_html: any;
distribution: {
assignees: TAssigneesDistribution[];
completion_chart: TCompletionChartDistribution;
labels: TLabelsDistribution[];
};
id: string;
lead: string | null;
lead_detail: IUserLite | null;
link_module: linkDetails[];
links_list: ModuleLink[];
members: string[];
members_list: string[];
members_detail: IUserLite[];
is_favorite: boolean;
name: string;
project: string;
project_detail: IProjectLite;
sort_order: number;
start_date: string | null;
started_issues: number;
status: "backlog" | "planned" | "in-progress" | "paused" | "completed" | "cancelled" | null;
target_date: string | null;
total_issues: number;
unstarted_issues: number;
updated_at: Date;
updated_by: string;
view_props: {
filters: IIssueFilterOptions;
};
workspace: string;
workspace_detail: IWorkspaceLite;
}
export interface ModuleIssueResponse {
created_at: Date;
created_by: string;
id: string;
issue: string;
issue_detail: IIssue;
module: string;
module_detail: IModule;
project: string;
updated_at: Date;
updated_by: string;
workspace: string;
sub_issues_count: number;
}
export type ModuleLink = {
title: string;
url: string;
};
export type SelectModuleType =
| (IModule & { actionType: "edit" | "delete" | "create-issue" })
| undefined;
export type SelectIssue = (IIssue & { actionType: "edit" | "delete" | "create" }) | undefined;