Commit 0f1c77f3 authored by nanahira's avatar nanahira

add has-conversation

parent 16e12c24
......@@ -4,6 +4,7 @@ import {
Get,
Headers,
Post,
Query,
ValidationPipe,
} from '@nestjs/common';
import { ChatgptService } from './chatgpt/chatgpt.service';
......@@ -11,7 +12,10 @@ import {
BlankReturnMessageDto,
ReturnMessageDto,
} from './dto/ReturnMessage.dto';
import { ConversationDto } from './conversation/conversation.dto';
import {
ConversationDto,
HasConversationDto,
} from './conversation/conversation.dto';
import {
ApiBody,
ApiCreatedResponse,
......@@ -27,6 +31,7 @@ import { AccountPoolService } from './account-pool/account-pool.service';
const ResponseDto = ReturnMessageDto(ConversationDto);
const StatusDto = ReturnMessageDto(AccountPoolStatusDto);
const hasConversationResponse = ReturnMessageDto(HasConversationDto);
@Controller()
export class AppController {
......@@ -74,6 +79,29 @@ export class AppController {
return new BlankReturnMessageDto(201, 'success');
}
@Get('has-conversation')
@ApiOperation({ summary: 'Check where it has a conversation' })
@ApiOkResponse({ type: hasConversationResponse })
async hasConversation(
@Query(
new ValidationPipe({
transform: true,
transformOptions: { enableImplicitConversion: true },
}),
)
dto: SessionDto,
@Headers('Authorization') header: string,
) {
await this.authService.auth(header);
const hasConversation = await this.conversation.hasConversation(
dto.session,
);
const payload = new HasConversationDto();
payload.session = dto.session;
payload.hasConversation = hasConversation;
return new hasConversationResponse(200, 'success', payload);
}
@Get('status')
@ApiOperation({ summary: 'Get account status.' })
@ApiOkResponse({ type: StatusDto })
......
......@@ -6,6 +6,12 @@ export class ConversationBase {
@ApiProperty({ description: 'Session identifier.' })
session: string;
}
export class HasConversationDto extends ConversationBase {
@ApiProperty({ description: 'Whether the session has a conversation.' })
hasConversation: boolean;
}
export class ConversationDto extends ConversationBase {
@ApiProperty({ description: 'Message from ChatGPT.' })
text: string;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment