From 01afbe79263630bbb7d0e16914cf6d078720ee87 Mon Sep 17 00:00:00 2001 From: Chneemann Date: Thu, 17 Apr 2025 04:17:18 +0200 Subject: [PATCH] refactor: move TaskStatus, TaskPriority, and TaskCategory enums from interface to constants --- .../components/add-task/add-task.component.ts | 11 +++----- src/app/components/board/board.component.ts | 12 ++++----- .../task/task-menu/task-menu.component.ts | 7 ++---- src/app/constants/task-category.constants.ts | 5 +++- src/app/constants/task-priority.constants.ts | 6 ++++- src/app/constants/task-status.constants.ts | 7 +++++- src/app/interfaces/task.interface.ts | 25 +++---------------- src/app/services/drag-drop.service.ts | 3 ++- src/app/services/task.service.ts | 7 +----- 9 files changed, 33 insertions(+), 50 deletions(-) diff --git a/src/app/components/add-task/add-task.component.ts b/src/app/components/add-task/add-task.component.ts index e2be89e..4182402 100644 --- a/src/app/components/add-task/add-task.component.ts +++ b/src/app/components/add-task/add-task.component.ts @@ -2,13 +2,7 @@ import { CommonModule } from '@angular/common'; import { Component, Input, OnDestroy, OnInit } from '@angular/core'; import { FormsModule, NgForm } from '@angular/forms'; import { AssignedComponent } from './assigned/assigned.component'; -import { - Subtask, - Task, - TaskCategory, - TaskPriority, - TaskStatus, -} from '../../interfaces/task.interface'; +import { Subtask, Task } from '../../interfaces/task.interface'; import { OverlayService } from '../../services/overlay.service'; import { FormBtnComponent } from '../../shared/components/buttons/form-btn/form-btn.component'; import { ActivatedRoute, Router } from '@angular/router'; @@ -22,11 +16,14 @@ import { HeadlineComponent } from '../../shared/components/headline/headline.com import { PRIORITIES, PRIORITY_LABELS, + TaskPriority, } from '../../constants/task-priority.constants'; import { CATEGORIES, CATEGORY_LABELS, + TaskCategory, } from '../../constants/task-category.constants'; +import { TaskStatus } from '../../constants/task-status.constants'; @Component({ selector: 'app-add-task', diff --git a/src/app/components/board/board.component.ts b/src/app/components/board/board.component.ts index 0d2b867..8be4f0c 100644 --- a/src/app/components/board/board.component.ts +++ b/src/app/components/board/board.component.ts @@ -9,11 +9,7 @@ import { Router } from '@angular/router'; import { TranslateModule } from '@ngx-translate/core'; import { TaskHighlightedComponent } from './task/task-highlighted/task-highlighted.component'; import { ApiService } from '../../services/api.service'; -import { - Task, - TaskMoveEvent, - TaskStatus, -} from '../../interfaces/task.interface'; +import { Task, TaskMoveEvent } from '../../interfaces/task.interface'; import { TaskService } from '../../services/task.service'; import { LoadingSpinnerComponent } from '../../shared/components/loading-spinner/loading-spinner.component'; import { debounceTime, finalize, Subject, take, takeUntil } from 'rxjs'; @@ -21,7 +17,11 @@ import { UpdateNotifierService } from '../../services/update-notifier.service'; import { ToastNotificationService } from '../../services/toast-notification.service'; import { ResizeService } from '../../services/resize.service'; import { HeadlineComponent } from '../../shared/components/headline/headline.component'; -import { STATUS_LABELS, STATUSES } from '../../constants/task-status.constants'; +import { + STATUS_LABELS, + STATUSES, + TaskStatus, +} from '../../constants/task-status.constants'; import { CATEGORIES, CATEGORY_LABELS, diff --git a/src/app/components/board/task/task-menu/task-menu.component.ts b/src/app/components/board/task/task-menu/task-menu.component.ts index f121c4a..a3b5b68 100644 --- a/src/app/components/board/task/task-menu/task-menu.component.ts +++ b/src/app/components/board/task/task-menu/task-menu.component.ts @@ -1,12 +1,9 @@ import { Component, EventEmitter, Input, Output } from '@angular/core'; -import { - Task, - TaskMoveEvent, - TaskStatus, -} from '../../../../interfaces/task.interface'; +import { Task, TaskMoveEvent } from '../../../../interfaces/task.interface'; import { STATUS_LABELS, STATUSES, + TaskStatus, } from '../../../../constants/task-status.constants'; import { TranslateModule } from '@ngx-translate/core'; diff --git a/src/app/constants/task-category.constants.ts b/src/app/constants/task-category.constants.ts index 99a1b48..f7e5a8c 100644 --- a/src/app/constants/task-category.constants.ts +++ b/src/app/constants/task-category.constants.ts @@ -1,4 +1,7 @@ -import { TaskCategory } from '../interfaces/task.interface'; +export enum TaskCategory { + USER_STORY = 'User Story', + TECHNICAL_TASK = 'Technical Task', +} export const CATEGORIES: TaskCategory[] = [ TaskCategory.USER_STORY, diff --git a/src/app/constants/task-priority.constants.ts b/src/app/constants/task-priority.constants.ts index a679d4f..488c1b6 100644 --- a/src/app/constants/task-priority.constants.ts +++ b/src/app/constants/task-priority.constants.ts @@ -1,4 +1,8 @@ -import { TaskPriority } from '../interfaces/task.interface'; +export enum TaskPriority { + LOW = 'low', + MEDIUM = 'medium', + URGENT = 'urgent', +} export const PRIORITIES: TaskPriority[] = [ TaskPriority.LOW, diff --git a/src/app/constants/task-status.constants.ts b/src/app/constants/task-status.constants.ts index 1448176..7dee072 100644 --- a/src/app/constants/task-status.constants.ts +++ b/src/app/constants/task-status.constants.ts @@ -1,4 +1,9 @@ -import { TaskStatus } from '../interfaces/task.interface'; +export enum TaskStatus { + TODO = 'todo', + IN_PROGRESS = 'inProgress', + AWAIT_FEEDBACK = 'awaitFeedback', + DONE = 'done', +} export const STATUSES: TaskStatus[] = [ TaskStatus.TODO, diff --git a/src/app/interfaces/task.interface.ts b/src/app/interfaces/task.interface.ts index b98791e..458de08 100644 --- a/src/app/interfaces/task.interface.ts +++ b/src/app/interfaces/task.interface.ts @@ -1,27 +1,8 @@ +import { TaskCategory } from '../constants/task-category.constants'; +import { TaskPriority } from '../constants/task-priority.constants'; +import { TaskStatus } from '../constants/task-status.constants'; import { UserSummary } from './user.interface'; -// Enums - -export enum TaskStatus { - TODO = 'todo', - IN_PROGRESS = 'inProgress', - AWAIT_FEEDBACK = 'awaitFeedback', - DONE = 'done', -} - -export enum TaskPriority { - LOW = 'low', - MEDIUM = 'medium', - URGENT = 'urgent', -} - -export enum TaskCategory { - USER_STORY = 'User Story', - TECHNICAL_TASK = 'Technical Task', -} - -// Interfaces - export interface Task { id?: string; title: string; diff --git a/src/app/services/drag-drop.service.ts b/src/app/services/drag-drop.service.ts index 01dc91c..dd9b46f 100644 --- a/src/app/services/drag-drop.service.ts +++ b/src/app/services/drag-drop.service.ts @@ -1,5 +1,6 @@ import { Injectable, EventEmitter } from '@angular/core'; -import { Task, TaskStatus } from '../interfaces/task.interface'; +import { Task } from '../interfaces/task.interface'; +import { TaskStatus } from '../constants/task-status.constants'; @Injectable({ providedIn: 'root', diff --git a/src/app/services/task.service.ts b/src/app/services/task.service.ts index 84c9ec1..ce3e915 100644 --- a/src/app/services/task.service.ts +++ b/src/app/services/task.service.ts @@ -1,12 +1,7 @@ import { Injectable } from '@angular/core'; import { Observable, of } from 'rxjs'; import { ApiService } from './api.service'; -import { - Task, - TaskCategory, - TaskPriority, - TaskStatus, -} from '../interfaces/task.interface'; +import { Task } from '../interfaces/task.interface'; import { catchError, map, switchMap } from 'rxjs/operators'; import { UserSummary } from '../interfaces/user.interface';