43 lines
1.3 KiB
V
43 lines
1.3 KiB
V
module projects
|
|
|
|
import freeflowuniverse.herolib.hero.models.core
|
|
|
|
// TaskStatus defines the possible states of a task
|
|
pub enum TaskStatus {
|
|
todo
|
|
in_progress
|
|
in_review
|
|
done
|
|
blocked
|
|
backlog
|
|
}
|
|
|
|
// TaskPriority defines the priority levels for tasks
|
|
pub enum TaskPriority {
|
|
low
|
|
medium
|
|
high
|
|
urgent
|
|
}
|
|
|
|
// Task represents the most granular unit of work
|
|
// Tasks can be linked to projects, epics, and sprints
|
|
pub struct Task {
|
|
core.Base
|
|
pub mut:
|
|
title string @[index] // Task title
|
|
description string // Task description
|
|
status TaskStatus @[index] // Current task status
|
|
priority TaskPriority @[index] // Task priority level
|
|
assignee_id u64 @[index] // User ID of task assignee
|
|
reporter_id u64 @[index] // User ID of task reporter
|
|
parent_task_id u64 // For subtasks - parent task ID
|
|
epic_id u64 @[index] // Link to parent epic
|
|
sprint_id u64 @[index] // Link to parent sprint
|
|
project_id u64 @[index] // Link to parent project
|
|
due_date u64 // Task due timestamp (Unix)
|
|
estimated_time_hours f32 // Estimated hours to complete
|
|
logged_time_hours f32 // Actual hours logged
|
|
tags []string @[index] // Task tags for categorization
|
|
}
|