75 lines
2.1 KiB
TypeScript
75 lines
2.1 KiB
TypeScript
import {
|
|
Controller,
|
|
Get,
|
|
Post,
|
|
Body,
|
|
Patch,
|
|
Param,
|
|
Delete,
|
|
Query,
|
|
} from '@nestjs/common';
|
|
import { FormService } from './form.service';
|
|
import { ApiOperation } from '@nestjs/swagger';
|
|
import { UpdateFieldDto } from './dto/update-field.dto';
|
|
import { QueryFormDto } from './dto/query-form.dto';
|
|
import { CreateFormDto } from './dto/create-form.dto';
|
|
|
|
@Controller('form')
|
|
export class FormController {
|
|
constructor(private readonly formService: FormService) {}
|
|
|
|
@Post('create-form')
|
|
@ApiOperation({ summary: 'Create a Form'})
|
|
async createOne(@Body() createFormDto:CreateFormDto){
|
|
return await this.formService.createForm(createFormDto)
|
|
}
|
|
|
|
@Get()
|
|
@ApiOperation({ summary: 'Get all forms with pagination, search, sort' })
|
|
findAll(@Query() query: QueryFormDto) {
|
|
return this.formService.findAll(query);
|
|
}
|
|
|
|
@Get(':formId')
|
|
@ApiOperation({ summary: 'Find a form' })
|
|
async find(@Param('formId') formId: string) {
|
|
return await this.formService.find(formId);
|
|
}
|
|
@Get(':formId/interface')
|
|
@ApiOperation({summary:'Get interface for the form provided by llm'})
|
|
async getInterface(@Param('formId') formId:string){
|
|
return await this.formService.findInterface(formId);
|
|
}
|
|
|
|
@Patch(':id/fields/:fieldId')
|
|
@ApiOperation({ summary: 'update a field in a form' })
|
|
async updateField(
|
|
@Param('id') id: string,
|
|
@Param('fieldId') fieldId: string,
|
|
@Body() updateFieldDto: UpdateFieldDto,
|
|
) {
|
|
return await this.formService.updateField(id, fieldId, updateFieldDto);
|
|
}
|
|
|
|
@Delete(':id/fields/:fieldId')
|
|
@ApiOperation({ summary: 'Delete a field' })
|
|
async deleteField(
|
|
@Param('id') id: string,
|
|
@Param('fieldId') fieldId: string,
|
|
) {
|
|
return await this.formService.deleteField(id, fieldId);
|
|
}
|
|
|
|
@Delete(':id')
|
|
@ApiOperation({ summary: 'Soft delete a form' })
|
|
async softDelete(@Param('id') id: string) {
|
|
return await this.formService.softDelete(id);
|
|
}
|
|
|
|
@Patch(':id/restore')
|
|
@ApiOperation({ summary: 'Restore a soft deleted form' })
|
|
restore(@Param('id') id: string) {
|
|
return this.formService.restore(id);
|
|
}
|
|
}
|