diff --git a/src/chatbot/chatbot.controller.ts b/src/chatbot/chatbot.controller.ts index e0b1d31..73367f9 100644 --- a/src/chatbot/chatbot.controller.ts +++ b/src/chatbot/chatbot.controller.ts @@ -4,17 +4,21 @@ import { UserMessageDto } from 'src/chatbot/dtos/user-message.dto'; import { ChatbotService } from 'src/chatbot/chatbot.service'; import { PageContextDto } from 'src/chatbot/dtos/page-context.dto'; import { Access } from 'src/common/decorators/module-access.decorators'; +import { ModuleAccessAllowed } from 'src/common/decorators/modules-guard.decorators'; +import { Modules as ModulesEnum } from ".prisma/client"; @Controller('chatbot') export class ChatbotController { constructor(private readonly chatbotService: ChatbotService) {} @Post('') + @ModuleAccessAllowed(ModulesEnum.chatbot) async testConnection(@Body() body: UserMessageDto): Promise { return await this.chatbotService.pingExternalApi(body); } @Post('context') + @ModuleAccessAllowed(ModulesEnum.chatbot) async sendContext(@Body() body: PageContextDto): Promise { const sendPageContext = await this.chatbotService.sendPageContext(body); return sendPageContext; @@ -22,6 +26,7 @@ export class ChatbotController { // Will have to modify later on to accomodate newer versions of User Auth/User type Structure @Post('user') + @ModuleAccessAllowed(ModulesEnum.chatbot) async sendUserCredentials(@Access('email') email: string,): Promise { const sendUserContext = await this.chatbotService.sendUserContext(email); return sendUserContext; diff --git a/src/chatbot/chatbot.service.ts b/src/chatbot/chatbot.service.ts index 4cf2eb2..6d3fbfb 100644 --- a/src/chatbot/chatbot.service.ts +++ b/src/chatbot/chatbot.service.ts @@ -19,9 +19,11 @@ export class ChatbotService { ), ); + console.log('chatbot response: ', response); + const cleanText = - Array.isArray(response) && response[0]?.output - ? response[0].output + Array.isArray(response.data) && response.data[0]?.output + ? response.data[0].output : JSON.stringify(response); return { diff --git a/src/common/mappers/module-access.mapper.ts b/src/common/mappers/module-access.mapper.ts index 816701a..ffbfe1e 100644 --- a/src/common/mappers/module-access.mapper.ts +++ b/src/common/mappers/module-access.mapper.ts @@ -6,7 +6,8 @@ export type Modules = | 'employee_list' | 'employee_management' | 'personal_profile' - | 'dashboard'; + | 'dashboard' + | 'chatbot'; export const module_list = [ 'timesheets', @@ -15,4 +16,5 @@ export const module_list = [ 'employee_management', 'personal_profile', 'dashboard', + 'chatbot', ] as const; \ No newline at end of file diff --git a/src/identity-and-account/employees/services/employees-get.service.ts b/src/identity-and-account/employees/services/employees-get.service.ts index 426f1c2..fdbc9a3 100644 --- a/src/identity-and-account/employees/services/employees-get.service.ts +++ b/src/identity-and-account/employees/services/employees-get.service.ts @@ -154,6 +154,7 @@ export class EmployeesGetService { personal_profile: true, timesheets: true, timesheets_approval: true, + chatbot: true, }, }, }, diff --git a/src/identity-and-account/employees/services/employees-update.service.ts b/src/identity-and-account/employees/services/employees-update.service.ts index c5b9fb9..b7ba2ee 100644 --- a/src/identity-and-account/employees/services/employees-update.service.ts +++ b/src/identity-and-account/employees/services/employees-update.service.ts @@ -53,6 +53,7 @@ export class EmployeesUpdateService { personal_profile: normalized_access.personal_profile, timesheets: normalized_access.timesheets, timesheets_approval: normalized_access.timesheets_approval, + chatbot: normalized_access.chatbot, }, create: { user_id: user_id.data, @@ -62,6 +63,7 @@ export class EmployeesUpdateService { personal_profile: normalized_access.personal_profile, timesheets: normalized_access.timesheets, timesheets_approval: normalized_access.timesheets_approval, + chatbot: normalized_access.chatbot, }, }); diff --git a/src/identity-and-account/users-management/services/abstract-user.service.ts b/src/identity-and-account/users-management/services/abstract-user.service.ts index 51404f9..d577e6e 100644 --- a/src/identity-and-account/users-management/services/abstract-user.service.ts +++ b/src/identity-and-account/users-management/services/abstract-user.service.ts @@ -19,6 +19,7 @@ export abstract class AbstractUserService { personal_profile: true, timesheets: true, timesheets_approval: true, + chatbot: true, }, }, },