@remcostoeten/fync
Version:
Unified TypeScript library for 9 popular APIs with consistent functional architecture
235 lines • 6.34 kB
TypeScript
import type { TBaseEntity } from "../../core/types";
import type { TGitLabUser } from "./gitlab-user";
export type TGitLabIssue = {
/** Issue ID */
id: number;
/** Issue internal ID */
iid: number;
/** Project ID */
project_id: number;
/** Issue title */
title: string;
/** Issue description */
description: string | null;
/** Issue state */
state: "opened" | "closed";
/** Issue author */
author: TGitLabUser;
/** Issue assignee */
assignee: TGitLabUser | null;
/** Issue assignees */
assignees: TGitLabUser[];
/** Issue type */
issue_type: "issue" | "incident" | "test_case" | "requirement" | "task";
/** Labels */
labels: string[];
/** Milestone */
milestone: {
/** Milestone ID */
id: number;
/** Milestone title */
title: string;
/** Milestone description */
description: string | null;
/** Milestone state */
state: "active" | "closed";
/** Milestone web URL */
web_url: string;
/** Due date */
due_date: string | null;
/** Start date */
start_date: string | null;
/** Project ID */
project_id: number;
/** Group ID */
group_id: number | null;
} | null;
/** User notes count */
user_notes_count: number;
/** Merge requests count */
merge_requests_count: number;
/** Upvotes count */
upvotes: number;
/** Downvotes count */
downvotes: number;
/** Due date */
due_date: string | null;
/** Confidential flag */
confidential: boolean;
/** Discussion locked flag */
discussion_locked: boolean;
/** Issue link */
issue_link_id: number | null;
/** Web URL */
web_url: string;
/** Time stats */
time_stats: {
/** Time estimate */
time_estimate: number;
/** Total time spent */
total_time_spent: number;
/** Human time estimate */
human_time_estimate: string | null;
/** Human total time spent */
human_total_time_spent: string | null;
};
/** Task completion status */
task_completion_status: {
/** Count */
count: number;
/** Completed count */
completed_count: number;
};
/** Blocking issues count */
blocking_issues_count: number;
/** Has tasks */
has_tasks: boolean;
/** Task status */
task_status: string;
/** Links */
_links: {
/** Self link */
self: string;
/** Notes link */
notes: string;
/** Award emoji link */
award_emoji: string;
/** Project link */
project: string;
/** Closed as duplicate of link */
closed_as_duplicate_of?: string;
};
/** References */
references: {
/** Short reference */
short: string;
/** Relative reference */
relative: string;
/** Full reference */
full: string;
};
/** Severity */
severity: "unknown" | "low" | "medium" | "high" | "critical";
/** Subscribed */
subscribed: boolean;
/** Moved to ID */
moved_to_id: number | null;
/** Service desk reply to */
service_desk_reply_to: string | null;
/** Health status */
health_status: "on_track" | "needs_attention" | "at_risk" | null;
/** Weight */
weight: number | null;
/** Epic */
epic: {
/** Epic ID */
id: number;
/** Epic internal ID */
iid: number;
/** Epic title */
title: string;
/** Epic description */
description: string | null;
/** Epic state */
state: "opened" | "closed";
/** Epic web URL */
web_url: string;
/** Epic references */
references: {
/** Short reference */
short: string;
/** Relative reference */
relative: string;
/** Full reference */
full: string;
};
/** Epic author */
author: TGitLabUser;
/** Start date */
start_date: string | null;
/** Due date */
due_date: string | null;
/** Epic color */
color: string;
/** Labels */
labels: string[];
/** Upvotes */
upvotes: number;
/** Downvotes */
downvotes: number;
/** Group ID */
group_id: number;
/** Parent ID */
parent_id: number | null;
/** Confidential */
confidential: boolean;
} | null;
/** Closed at */
closed_at: string | null;
/** Closed by */
closed_by: TGitLabUser | null;
} & TBaseEntity;
export type TGitLabIssueNote = {
/** Note ID */
id: number;
/** Note body */
body: string;
/** Attachment */
attachment: string | null;
/** Note author */
author: TGitLabUser;
/** System note flag */
system: boolean;
/** Noteable ID */
noteable_id: number;
/** Noteable type */
noteable_type: "Issue" | "MergeRequest" | "Snippet";
/** Resolvable flag */
resolvable: boolean;
/** Resolved flag */
resolved: boolean;
/** Resolved by */
resolved_by: TGitLabUser | null;
/** Resolved at */
resolved_at: string | null;
/** Confidential */
confidential: boolean;
/** Internal */
internal: boolean;
/** Note type */
type: "DiscussionNote" | "DiffNote" | null;
/** Commands changes */
commands_changes: {
/** Assignee IDs */
assignee_ids?: {
/** Old values */
old: number[];
/** New values */
new: number[];
};
/** Epic */
epic?: {
/** Old epic */
old: number | null;
/** New epic */
new: number | null;
};
/** Time estimate */
time_estimate?: {
/** Old estimate */
old: number;
/** New estimate */
new: number;
};
/** Spend time */
spend_time?: {
/** Duration */
duration: number;
/** User */
user: TGitLabUser;
/** Spent at */
spent_at: string;
};
};
} & TBaseEntity;
//# sourceMappingURL=gitlab-issue.d.ts.map