db/specs/models/projects/task.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
}