From 2e992d040bb9f9dd8bcc6401ec36b7546b9f97ae Mon Sep 17 00:00:00 2001 From: Radwa85 Date: Wed, 14 May 2025 18:09:06 +0300 Subject: [PATCH 1/5] used task instead of taskDTO and removed unnecessary try catch --- .../kotlin/ui/screens/TaskManagementScreen.kt | 53 ++++++++----------- 1 file changed, 21 insertions(+), 32 deletions(-) diff --git a/src/main/kotlin/ui/screens/TaskManagementScreen.kt b/src/main/kotlin/ui/screens/TaskManagementScreen.kt index e502c7f..0762f7e 100644 --- a/src/main/kotlin/ui/screens/TaskManagementScreen.kt +++ b/src/main/kotlin/ui/screens/TaskManagementScreen.kt @@ -1,8 +1,5 @@ package ui.screens -import data.remote.mongoDataSource.dto.TaskDto -import data.repository.mapper.toTaskDto -import data.repository.mapper.toTaskEntity import format import kotlinx.datetime.Clock import kotlinx.datetime.LocalDateTime @@ -96,26 +93,19 @@ class TaskManagementScreen( consoleIO.showWithLine("⚠️ No tasks available.") } tasks.forEach { task -> - val taskDTO = task.toTaskDto() - val createdAt = try { - LocalDateTime.parse(taskDTO.createdAt).format() - } catch (_: Exception) { - taskDTO.createdAt - } - val updatedAt = try { - LocalDateTime.parse(taskDTO.updatedAt).format() - } catch (_: Exception) { - taskDTO.updatedAt - } + val createdAt = LocalDateTime.parse(task.createdAt.toString()).format() + + val updatedAt = LocalDateTime.parse(task.updatedAt.toString()).format() + consoleIO.showWithLine("") consoleIO.showWithLine( """ ╭────────────────────────────────────────╮ - │ ID: ${taskDTO.id} - │ Title: ${taskDTO.title} - │ Description: ${taskDTO.description} - │ State ID: ${taskDTO.stateId} - │ Created By: ${taskDTO.createdBy} + │ ID: ${task.id} + │ Title: ${task.title} + │ Description: ${task.description} + │ State ID: ${task.stateId} + │ Created By: ${task.createdBy} │ Created At: $createdAt │ Updated At: $updatedAt ╰────────────────────────────────────────╯ @@ -140,18 +130,18 @@ class TaskManagementScreen( showAnimation("Finding task...") { try { - val taskDTO = getTaskByIdUseCase.getTaskById(id) + val task = getTaskByIdUseCase.getTaskById(id) consoleIO.showWithLine("") consoleIO.showWithLine( """ ╭─────────────────────────────────────────╮ - │ ID: ${taskDTO.id} - │ Title: ${taskDTO.title} - │ Description: ${taskDTO.description} - │ State ID: ${taskDTO.stateId} - │ Created By: ${taskDTO.createdBy} - │ Created At: ${taskDTO.createdAt.format()} - │ Updated At: ${taskDTO.updatedAt.format()} + │ ID: ${task.id} + │ Title: ${task.title} + │ Description: ${task.description} + │ State ID: ${task.stateId} + │ Created By: ${task.createdBy} + │ Created At: ${task.createdAt.format()} + │ Updated At: ${task.updatedAt.format()} ╰─────────────────────────────────────────╯ """.trimIndent() ) @@ -191,20 +181,19 @@ class TaskManagementScreen( val now = Clock.System.now().toLocalDateTime(TimeZone.currentSystemDefault()) - val taskDTO = TaskDto( - id = Uuid.random().toString(), + val task = Task( + id = Uuid.random(), projectId = projectId, title = title, description = description ?: "", createdBy = currentUser.userName, stateId = stateId, - createdAt = now.toString(), - updatedAt = now.toString() + createdAt = now, + updatedAt = now ) showAnimation("Adding task...") { try { - val task = taskDTO.toTaskEntity() addTaskUseCase.addTask(task) consoleIO.showWithLine("✅ Task added successfully.") From fa744253b6a88de9eeab7632b313bd57c9e6a4ab Mon Sep 17 00:00:00 2001 From: Radwa85 Date: Wed, 14 May 2025 18:14:05 +0300 Subject: [PATCH 2/5] refactor variable names and add package declaration --- src/main/kotlin/ui/main/FormatDateTime.kt | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/main/kotlin/ui/main/FormatDateTime.kt b/src/main/kotlin/ui/main/FormatDateTime.kt index e27c8cc..372bb35 100644 --- a/src/main/kotlin/ui/main/FormatDateTime.kt +++ b/src/main/kotlin/ui/main/FormatDateTime.kt @@ -1,10 +1,12 @@ +package ui.main + import kotlinx.datetime.LocalDateTime fun LocalDateTime.format(): String { - val monthString = monthNumber.toString().padStart(2, '0') - val dayString = dayOfMonth.toString().padStart(2, '0') - val hourString = hour.toString().padStart(2, '0') - val minuteString = minute.toString().padStart(2, '0') + val month = monthNumber.toString().padStart(2, '0') + val day = dayOfMonth.toString().padStart(2, '0') + val hour = hour.toString().padStart(2, '0') + val minute = minute.toString().padStart(2, '0') - return "$year-$monthString-$dayString,$hourString:$minuteString" + return "$year-$month-$day,$hour:$minute" } \ No newline at end of file From 316f478f805b7f841f7af8ff5dcf53d7addc339c Mon Sep 17 00:00:00 2001 From: Radwa85 Date: Wed, 14 May 2025 18:15:13 +0300 Subject: [PATCH 3/5] Fix import path for format in screens --- src/main/kotlin/ui/screens/ProjectManagementScreen.kt | 2 +- src/main/kotlin/ui/screens/TaskManagementScreen.kt | 2 +- src/main/kotlin/ui/screens/TaskStateScreen.kt | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/kotlin/ui/screens/ProjectManagementScreen.kt b/src/main/kotlin/ui/screens/ProjectManagementScreen.kt index 0e3c8c6..a9e55a1 100644 --- a/src/main/kotlin/ui/screens/ProjectManagementScreen.kt +++ b/src/main/kotlin/ui/screens/ProjectManagementScreen.kt @@ -1,6 +1,5 @@ package ui.screens -import format import kotlinx.datetime.Clock import kotlinx.datetime.TimeZone import kotlinx.datetime.toLocalDateTime @@ -13,6 +12,7 @@ import ui.enums.ProjectBoardOption import ui.main.BaseScreen import ui.main.MenuRenderer import ui.main.consoleIO.ConsoleIO +import ui.main.format import kotlin.uuid.ExperimentalUuidApi @OptIn(ExperimentalUuidApi::class) diff --git a/src/main/kotlin/ui/screens/TaskManagementScreen.kt b/src/main/kotlin/ui/screens/TaskManagementScreen.kt index 0762f7e..e333c2d 100644 --- a/src/main/kotlin/ui/screens/TaskManagementScreen.kt +++ b/src/main/kotlin/ui/screens/TaskManagementScreen.kt @@ -1,6 +1,5 @@ package ui.screens -import format import kotlinx.datetime.Clock import kotlinx.datetime.LocalDateTime import kotlinx.datetime.TimeZone @@ -19,6 +18,7 @@ import ui.enums.TaskBoardOption import ui.main.BaseScreen import ui.main.MenuRenderer import ui.main.consoleIO.ConsoleIO +import ui.main.format import kotlin.uuid.ExperimentalUuidApi import kotlin.uuid.Uuid diff --git a/src/main/kotlin/ui/screens/TaskStateScreen.kt b/src/main/kotlin/ui/screens/TaskStateScreen.kt index 81ea75b..16384f8 100644 --- a/src/main/kotlin/ui/screens/TaskStateScreen.kt +++ b/src/main/kotlin/ui/screens/TaskStateScreen.kt @@ -1,6 +1,5 @@ package ui.screens -import format import kotlinx.datetime.Clock import kotlinx.datetime.TimeZone import kotlinx.datetime.toLocalDateTime @@ -17,6 +16,7 @@ import ui.enums.StateBoardOption import ui.main.BaseScreen import ui.main.MenuRenderer import ui.main.consoleIO.ConsoleIO +import ui.main.format import kotlin.uuid.ExperimentalUuidApi import kotlin.uuid.Uuid From a0ce40e9de36168ccb4eda444fa91438e4ace024 Mon Sep 17 00:00:00 2001 From: Radwa85 Date: Wed, 14 May 2025 18:20:40 +0300 Subject: [PATCH 4/5] Revert "Fix import path for format in screens" This reverts commit 316f478f805b7f841f7af8ff5dcf53d7addc339c. --- src/main/kotlin/ui/screens/ProjectManagementScreen.kt | 2 +- src/main/kotlin/ui/screens/TaskManagementScreen.kt | 2 +- src/main/kotlin/ui/screens/TaskStateScreen.kt | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/kotlin/ui/screens/ProjectManagementScreen.kt b/src/main/kotlin/ui/screens/ProjectManagementScreen.kt index a9e55a1..0e3c8c6 100644 --- a/src/main/kotlin/ui/screens/ProjectManagementScreen.kt +++ b/src/main/kotlin/ui/screens/ProjectManagementScreen.kt @@ -1,5 +1,6 @@ package ui.screens +import format import kotlinx.datetime.Clock import kotlinx.datetime.TimeZone import kotlinx.datetime.toLocalDateTime @@ -12,7 +13,6 @@ import ui.enums.ProjectBoardOption import ui.main.BaseScreen import ui.main.MenuRenderer import ui.main.consoleIO.ConsoleIO -import ui.main.format import kotlin.uuid.ExperimentalUuidApi @OptIn(ExperimentalUuidApi::class) diff --git a/src/main/kotlin/ui/screens/TaskManagementScreen.kt b/src/main/kotlin/ui/screens/TaskManagementScreen.kt index e333c2d..0762f7e 100644 --- a/src/main/kotlin/ui/screens/TaskManagementScreen.kt +++ b/src/main/kotlin/ui/screens/TaskManagementScreen.kt @@ -1,5 +1,6 @@ package ui.screens +import format import kotlinx.datetime.Clock import kotlinx.datetime.LocalDateTime import kotlinx.datetime.TimeZone @@ -18,7 +19,6 @@ import ui.enums.TaskBoardOption import ui.main.BaseScreen import ui.main.MenuRenderer import ui.main.consoleIO.ConsoleIO -import ui.main.format import kotlin.uuid.ExperimentalUuidApi import kotlin.uuid.Uuid diff --git a/src/main/kotlin/ui/screens/TaskStateScreen.kt b/src/main/kotlin/ui/screens/TaskStateScreen.kt index 16384f8..81ea75b 100644 --- a/src/main/kotlin/ui/screens/TaskStateScreen.kt +++ b/src/main/kotlin/ui/screens/TaskStateScreen.kt @@ -1,5 +1,6 @@ package ui.screens +import format import kotlinx.datetime.Clock import kotlinx.datetime.TimeZone import kotlinx.datetime.toLocalDateTime @@ -16,7 +17,6 @@ import ui.enums.StateBoardOption import ui.main.BaseScreen import ui.main.MenuRenderer import ui.main.consoleIO.ConsoleIO -import ui.main.format import kotlin.uuid.ExperimentalUuidApi import kotlin.uuid.Uuid From 975426c1133341c70147a50272d9e8e2ed6e057a Mon Sep 17 00:00:00 2001 From: Radwa85 Date: Wed, 14 May 2025 18:25:59 +0300 Subject: [PATCH 5/5] removed wrong entities import --- src/main/kotlin/ui/screens/TaskManagementScreen.kt | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/kotlin/ui/screens/TaskManagementScreen.kt b/src/main/kotlin/ui/screens/TaskManagementScreen.kt index 217b08c..354b52d 100644 --- a/src/main/kotlin/ui/screens/TaskManagementScreen.kt +++ b/src/main/kotlin/ui/screens/TaskManagementScreen.kt @@ -5,7 +5,6 @@ import kotlinx.datetime.Clock import kotlinx.datetime.LocalDateTime import kotlinx.datetime.TimeZone import kotlinx.datetime.toLocalDateTime -import logic.entities.Audit import logic.entity.Audit import logic.entity.Task import logic.exceptions.TaskAlreadyExistsException