37 lines
1.3 KiB
V
37 lines
1.3 KiB
V
module projects
|
|
|
|
import base
|
|
|
|
// Epic represents a large body of work that can be broken down into stories
|
|
pub struct Epic {
|
|
base.Base
|
|
pub mut:
|
|
title string
|
|
description string
|
|
project_id u32 // ID of the project this epic belongs to
|
|
owner_id u32 // ID of the user who owns this epic
|
|
assignee_id u32 // ID of the user assigned to this epic
|
|
status Status
|
|
priority Priority
|
|
story_ids []u32 // IDs of the stories in this epic
|
|
issue_ids []u32 // IDs of the issues in this epic
|
|
label_ids []u32 // IDs of the labels applied to this epic
|
|
start_date string // Start date in ISO format
|
|
due_date string // Due date in ISO format
|
|
progress f32 // Progress as a percentage (0-100)
|
|
dependencies []u32 // IDs of epics that this epic depends on
|
|
blockers []string // List of blockers preventing progress
|
|
tags []string
|
|
}
|
|
|
|
// EpicProgress represents the progress of an epic
|
|
pub struct EpicProgress {
|
|
base.Base
|
|
pub mut:
|
|
epic_id u32
|
|
total_stories u32 // Total number of stories in the epic
|
|
completed_stories u32 // Number of completed stories
|
|
total_points f32 // Total number of story points
|
|
completed_points f32 // Number of completed story points
|
|
progress f32 // Progress as a percentage (0-100)
|
|
} |