Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 | 3x 3x 3x 3x 3x 3x 3x 3x 3x 1x 1x 1x 2x 2x 2x 1x 1x 1x 1x 1x 1x | import { inject, Injectable, signal } from "@angular/core";
import { environment } from "../../../environments/environment";
import { TaskCreateValidationService } from "./task.create.validation";
import { HttpClient, HttpErrorResponse } from "@angular/common/http";
import { TaskService } from "./task.service";
import { TaskCard, TaskRequest } from "./task.interfaces";
import { catchError, map, Observable, throwError } from "rxjs";
@Injectable({ providedIn: 'root' })
export class CreateTaskService {
readonly taskCreateValidationService = inject(TaskCreateValidationService);
readonly taskService = inject(TaskService);
private readonly isCreateTaskPanelOpenSignal = signal<boolean>(false);
private readonly isLoadingSignal = signal<boolean>(false);
private readonly apiBase = environment.authApiBaseUrl;
readonly isCreateTaskPanelOpen = this.isCreateTaskPanelOpenSignal.asReadonly();
readonly isLoading = this.isLoadingSignal.asReadonly();
constructor(private http: HttpClient) { }
setLoading(loading: boolean) {
this.isLoadingSignal.set(loading);
}
openCreateTaskPanel(): void {
this.taskCreateValidationService.resetForm();
this.isCreateTaskPanelOpenSignal.set(true);
}
closeCreateTaskPanel(): void {
this.isCreateTaskPanelOpenSignal.set(false);
}
createTask(taskData: TaskRequest): Observable<string> {
const { isSubtask , ...rest} = taskData;
console.log("Tarea a crear: ", rest)
return this.http.post(this.apiBase + "/api/v1/task/", rest, {
withCredentials: true
}).pipe(
map((res) => {
this.taskService.addTask(taskData.projectId, res as TaskCard);
return "Task creada exitosamente";
}),
catchError(this.handleError)
);
}
private handleError(error: HttpErrorResponse) {
let errorMessage = 'Error desconocido';
Iif (error.error instanceof ErrorEvent) {
// Error del lado del cliente
errorMessage = `Error: ${error.error.message}`;
} else {
// Error del lado del servidor
errorMessage = `Código: ${error.status} - Mensaje: ${error.message}`;
}
return throwError(() => new Error(errorMessage));
}
} |