feat: Created task lists that work in categories
All checks were successful
Build and Push App Image / build-and-push (push) Successful in 1m20s
All checks were successful
Build and Push App Image / build-and-push (push) Successful in 1m20s
This commit is contained in:
@@ -430,6 +430,7 @@ type CategoryTreeDTO struct {
|
||||
*CategoryDTO
|
||||
Subcategories []*CategoryTreeDTO `json:"subcategories"`
|
||||
Notes []*NoteListItemDTO `json:"notes"`
|
||||
TaskLists []*TaskListDTO `json:"task_lists"`
|
||||
}
|
||||
|
||||
// NewCategoryDTO creates a DTO from a category entity
|
||||
@@ -458,7 +459,7 @@ func NewCategoryDTO(category *entities.Category) *CategoryDTO {
|
||||
type CreateTaskRequest struct {
|
||||
Title string `json:"title" validate:"required,min=1,max=255"`
|
||||
Description string `json:"description" validate:"max=2000"`
|
||||
CategoryID *string `json:"category_id,omitempty"`
|
||||
TaskListID string `json:"task_list_id" validate:"required"`
|
||||
StatusID string `json:"status_id" validate:"required"`
|
||||
ParentTaskID *string `json:"parent_task_id,omitempty"`
|
||||
NoteLinks []string `json:"note_links"`
|
||||
@@ -468,7 +469,7 @@ type CreateTaskRequest struct {
|
||||
type UpdateTaskRequest struct {
|
||||
Title *string `json:"title,omitempty"`
|
||||
Description *string `json:"description,omitempty"`
|
||||
CategoryID *string `json:"category_id,omitempty"`
|
||||
TaskListID *string `json:"task_list_id,omitempty"`
|
||||
StatusID *string `json:"status_id,omitempty"`
|
||||
ParentTaskID *string `json:"parent_task_id,omitempty"`
|
||||
NoteLinks []string `json:"note_links,omitempty"`
|
||||
@@ -490,7 +491,7 @@ type TaskDTO struct {
|
||||
SpaceID string `json:"space_id"`
|
||||
Title string `json:"title"`
|
||||
Description string `json:"description"`
|
||||
CategoryID *string `json:"category_id,omitempty"`
|
||||
TaskListID string `json:"task_list_id"`
|
||||
StatusID string `json:"status_id"`
|
||||
ParentTaskID *string `json:"parent_task_id,omitempty"`
|
||||
Depth int `json:"depth"`
|
||||
@@ -538,14 +539,35 @@ type TaskStatusDTO struct {
|
||||
UpdatedAt string `json:"updated_at"`
|
||||
}
|
||||
|
||||
// CreateTaskListRequest represents task list creation input.
|
||||
type CreateTaskListRequest struct {
|
||||
Name string `json:"name" validate:"required,min=1,max=120"`
|
||||
Description string `json:"description" validate:"max=500"`
|
||||
CategoryID *string `json:"category_id,omitempty"`
|
||||
}
|
||||
|
||||
// UpdateTaskListRequest represents task list update input.
|
||||
type UpdateTaskListRequest struct {
|
||||
Name *string `json:"name,omitempty"`
|
||||
Description *string `json:"description,omitempty"`
|
||||
CategoryID *string `json:"category_id,omitempty"`
|
||||
}
|
||||
|
||||
// TaskListDTO represents a task list in API responses.
|
||||
type TaskListDTO struct {
|
||||
ID string `json:"id"`
|
||||
SpaceID string `json:"space_id"`
|
||||
CategoryID *string `json:"category_id,omitempty"`
|
||||
Name string `json:"name"`
|
||||
Description string `json:"description"`
|
||||
CreatedBy string `json:"created_by"`
|
||||
UpdatedBy string `json:"updated_by"`
|
||||
CreatedAt string `json:"created_at"`
|
||||
UpdatedAt string `json:"updated_at"`
|
||||
}
|
||||
|
||||
// NewTaskDTO creates a DTO from a task entity.
|
||||
func NewTaskDTO(task *entities.Task) *TaskDTO {
|
||||
var categoryID *string
|
||||
if task.CategoryID != nil {
|
||||
id := task.CategoryID.Hex()
|
||||
categoryID = &id
|
||||
}
|
||||
|
||||
var parentTaskID *string
|
||||
if task.ParentTaskID != nil {
|
||||
id := task.ParentTaskID.Hex()
|
||||
@@ -562,7 +584,7 @@ func NewTaskDTO(task *entities.Task) *TaskDTO {
|
||||
SpaceID: task.SpaceID.Hex(),
|
||||
Title: task.Title,
|
||||
Description: task.Description,
|
||||
CategoryID: categoryID,
|
||||
TaskListID: task.TaskListID.Hex(),
|
||||
StatusID: task.StatusID.Hex(),
|
||||
ParentTaskID: parentTaskID,
|
||||
Depth: task.Depth,
|
||||
@@ -574,6 +596,27 @@ func NewTaskDTO(task *entities.Task) *TaskDTO {
|
||||
}
|
||||
}
|
||||
|
||||
// NewTaskListDTO creates a DTO from a task list entity.
|
||||
func NewTaskListDTO(taskList *entities.TaskList) *TaskListDTO {
|
||||
var categoryID *string
|
||||
if taskList.CategoryID != nil {
|
||||
id := taskList.CategoryID.Hex()
|
||||
categoryID = &id
|
||||
}
|
||||
|
||||
return &TaskListDTO{
|
||||
ID: taskList.ID.Hex(),
|
||||
SpaceID: taskList.SpaceID.Hex(),
|
||||
CategoryID: categoryID,
|
||||
Name: taskList.Name,
|
||||
Description: taskList.Description,
|
||||
CreatedBy: taskList.CreatedBy.Hex(),
|
||||
UpdatedBy: taskList.UpdatedBy.Hex(),
|
||||
CreatedAt: taskList.CreatedAt.Format("2006-01-02T15:04:05Z"),
|
||||
UpdatedAt: taskList.UpdatedAt.Format("2006-01-02T15:04:05Z"),
|
||||
}
|
||||
}
|
||||
|
||||
// NewTaskStatusDTO creates a DTO from a task status entity.
|
||||
func NewTaskStatusDTO(status *entities.TaskStatus) *TaskStatusDTO {
|
||||
return &TaskStatusDTO{
|
||||
|
||||
Reference in New Issue
Block a user