60 lines
1.7 KiB
V
60 lines
1.7 KiB
V
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
|
|
} |