/**
* @fileoverview Issue-related models
* This module defines interfaces for DeepSource issues and related structures.
*/
import { PaginationParams, PaginatedResponse } from '../utils/pagination/types.js';
/**
* Represents an issue found by DeepSource analysis
* @public
*/
export interface DeepSourceIssue {
/** Unique identifier for the issue */
id: string;
/** Title of the issue */
title: string;
/** Shortcode identifying the issue type */
shortcode: string;
/** Category of the issue (e.g., 'BUG', 'SECURITY', 'PERFORMANCE') */
category: string;
/** Severity level of the issue (e.g., 'CRITICAL', 'MAJOR', 'MINOR') */
severity: string;
/** Current status of the issue (e.g., 'OPEN', 'FIXED', 'WONTFIX') */
status: string;
/** Detailed description of the issue */
issue_text: string;
/** File path where the issue was found */
file_path: string;
/** Line number in the file where the issue starts */
line_number: number;
/** Tags associated with the issue */
tags: string[];
}
/**
* Parameters for filtering issues
* @public
*/
export interface IssueFilterParams extends PaginationParams {
/** Filter issues by path (file path) */
path?: string;
/** Filter issues by analyzer shortcodes (e.g. ["python", "javascript"]) */
analyzerIn?: string[];
/** Filter issues by tags */
tags?: string[];
}
/**
* Response containing a list of issues with pagination
* @public
*/
export type IssuesResponse = PaginatedResponse<DeepSourceIssue>;