53 lines
1002 B
V
53 lines
1002 B
V
module projects
|
|
|
|
import base
|
|
|
|
// Priority represents the priority level of a project item
|
|
pub enum Priority {
|
|
critical
|
|
high
|
|
medium
|
|
low
|
|
none
|
|
}
|
|
|
|
// Status represents the current status of a project item
|
|
pub enum Status {
|
|
todo
|
|
in_progress
|
|
review
|
|
done
|
|
archived
|
|
}
|
|
|
|
// ItemType represents the type of a project item
|
|
pub enum ItemType {
|
|
epic
|
|
story
|
|
task
|
|
bug
|
|
improvement
|
|
feature
|
|
}
|
|
|
|
// Project represents a project in the system
|
|
pub struct Project {
|
|
base.Base
|
|
pub mut:
|
|
name string
|
|
description string
|
|
owner_id u32 // ID of the user who owns this project
|
|
member_ids []u32 // IDs of the users who are members of this project
|
|
board_ids []u32 // IDs of the kanban boards in this project
|
|
sprint_ids []u32 // IDs of the sprints in this project
|
|
epic_ids []u32 // IDs of the epics in this project
|
|
tags []string
|
|
}
|
|
|
|
// Label represents a label that can be applied to project items
|
|
pub struct Label {
|
|
base.Base
|
|
pub mut:
|
|
name string
|
|
color string // Hex color code
|
|
} |