src/task/tasks.controller.ts
tasks
Methods |
| createTask | |||||||||
createTask(createTaskDto: CreateTaskDTO, user: User)
|
|||||||||
Decorators :
@Post()
|
|||||||||
|
Defined in src/task/tasks.controller.ts:37
|
|||||||||
|
Parameters :
Returns :
Promise<Task>
|
| deleteTask |
deleteTask(id: string, user: User)
|
Decorators :
@Delete('/:id')
|
|
Defined in src/task/tasks.controller.ts:54
|
|
Returns :
Promise<DeleteResult>
|
| getTaskById |
getTaskById(id: string, user: User)
|
Decorators :
@Get('/:id')
|
|
Defined in src/task/tasks.controller.ts:29
|
|
Returns :
Promise<Task>
|
| getTasks | |||||||||
getTasks(filterDto: GetTasksFilterDto, user: User)
|
|||||||||
Decorators :
@Get()
|
|||||||||
|
Defined in src/task/tasks.controller.ts:21
|
|||||||||
|
Parameters :
Returns :
Promise<Task[]>
|
| updateTaskStatus | ||||||||||||
updateTaskStatus(id: string, status: TaskStatus, user: User)
|
||||||||||||
Decorators :
@Patch('/:id/status')
|
||||||||||||
|
Defined in src/task/tasks.controller.ts:45
|
||||||||||||
|
Parameters :
Returns :
Promise<Task>
|
import { User } from './../auth/user.entity';
import { AuthGuard } from '@nestjs/passport';
import { InjectRepository } from '@nestjs/typeorm';
import { TaskStatusValidationPipe } from './pipes/task-status-validation.pipes';
import { Controller, Get, Post, Body, Param, Delete, Patch, Query, ValidationPipe, UsePipes, ParseUUIDPipe, UseGuards } from '@nestjs/common';
import { GetTasksFilterDto } from './dto/get-tasks-filter.dto';
import { CreateTaskDTO } from './dto/create-task.dto';
import { TasksService } from './tasks.service';
import { Task } from './task-entity';
import { TaskRepository } from './task.repository';
import { TaskStatus } from './task-status.enum';
import { DeleteResult } from 'typeorm';
import { GetUser } from '../auth/get-user.decorator';
@Controller('tasks')
@UseGuards(AuthGuard())
export class TasksController {
constructor(private readonly tasksService: TasksService) {}
@Get()
getTasks(
@Query(ValidationPipe) filterDto: GetTasksFilterDto,
@GetUser() user: User,
): Promise<Task[]> {
return this.tasksService.getTasks(filterDto, user);
}
@Get('/:id')
getTaskById(
@Param('id', new ParseUUIDPipe()) id: string,
@GetUser() user: User,
): Promise<Task> {
return this.tasksService.getTaskById(id, user);
}
@Post()
createTask(
@Body() createTaskDto: CreateTaskDTO,
@GetUser() user: User,
): Promise<Task> {
return this.tasksService.createTask(createTaskDto, user);
}
@Patch('/:id/status')
updateTaskStatus(
@Param('id', new ParseUUIDPipe()) id: string,
@Body('status', TaskStatusValidationPipe) status: TaskStatus,
@GetUser() user: User,
): Promise<Task> {
return this.tasksService.updateTaskStatus(id, status, user);
}
@Delete('/:id')
deleteTask(
@Param('id', new ParseUUIDPipe()) id: string,
@GetUser() user: User,
): Promise<DeleteResult> {
return this.tasksService.deleteTask(id, user);
}
}