module projects import base // IssueType represents the type of an issue pub enum IssueType { bug feature_request improvement task question documentation } // IssueSeverity represents the severity of an issue pub enum IssueSeverity { blocker critical major minor trivial } // Issue represents a problem, task, or feature request in the project pub struct Issue { base.Base pub mut: title string description string project_id u32 // ID of the project this issue belongs to reporter_id u32 // ID of the user who reported this issue assignee_id u32 // ID of the user assigned to this issue status Status priority Priority issue_type IssueType severity IssueSeverity epic_id u32 // ID of the epic this issue belongs to (if any) story_id u32 // ID of the story this issue belongs to (if any) sprint_id u32 // ID of the sprint this issue is scheduled for (if any) label_ids []u32 // IDs of the labels applied to this issue due_date string // Due date in ISO format estimated_hours f32 // Estimated hours to complete actual_hours f32 // Actual hours spent dependencies []u32 // IDs of issues that this issue depends on blockers []string // List of blockers preventing progress steps_to_reproduce []string // Steps to reproduce (for bugs) environment string // Environment where the issue occurs (for bugs) attachments []string // Paths or references to attachments tags []string } // IssueComment represents a comment on an issue pub struct IssueComment { base.Base pub mut: issue_id u32 author_id u32 content string attachments []string // Paths or references to attachments }