blob: 555ee11d9db19802ae2f2a0491c26d2d14d51551 [file]
import {
Body,
Controller,
Delete,
Get,
Param,
Post,
Put,
Query,
} from '@nestjs/common';
import { SourceTaskService } from '../services/sourceTask';
import { SourceTask } from '../models';
import { UniqueID } from '../models/base';
import { CreateSourceTask, ListSourceTask } from '../types/sourceTask';
import { PaginationResponse } from '../types/pagination';
@Controller()
export class SourceTaskController {
constructor(private readonly sourceTaskService: SourceTaskService) {}
@Post('source/:id/task')
async create(
@Param('id') sourceId: string,
@Body() task: CreateSourceTask,
): Promise<SourceTask> {
// TODO: SEND request to redis pub so that it can be received by the plugin execute method wiht the options sent
return await this.sourceTaskService.create(sourceId, task);
}
@Get('/task')
async list(@Query() filter: ListSourceTask): Promise<PaginationResponse<SourceTask>> {
return await this.sourceTaskService.list(filter);
}
// @Get('source/:id/task')
// async list(@Query() : ListTask): Promise<PaginationResponse<SourceTask>> {
// return await this.sourceTaskService.list(filter);
// }
// @Get('task/:id')
// async get(@Param('id') id: UniqueID): Promise<Source> {
// return await this.sourceService.get(id);
// }
// @Delete('task/:id')
// async delete(@Param('id') id: UniqueID): Promise<Source> {
// return await this.sourceService.delete(id);
// }
}