Browse Source

Bugfix/fix AI prompt endpoint (#4185)

pull/4186/head
Thomas Kaul 1 week ago
committed by GitHub
parent
commit
86683a5bf3
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 16
      apps/api/src/app/endpoints/ai/ai.controller.ts

16
apps/api/src/app/endpoints/ai/ai.controller.ts

@ -1,16 +1,14 @@
import { HasPermission } from '@ghostfolio/api/decorators/has-permission.decorator'; import { HasPermission } from '@ghostfolio/api/decorators/has-permission.decorator';
import { HasPermissionGuard } from '@ghostfolio/api/guards/has-permission.guard'; import { HasPermissionGuard } from '@ghostfolio/api/guards/has-permission.guard';
import { ImpersonationService } from '@ghostfolio/api/services/impersonation/impersonation.service';
import { import {
DEFAULT_CURRENCY, DEFAULT_CURRENCY,
DEFAULT_LANGUAGE_CODE, DEFAULT_LANGUAGE_CODE
HEADER_KEY_IMPERSONATION
} from '@ghostfolio/common/config'; } from '@ghostfolio/common/config';
import { AiPromptResponse } from '@ghostfolio/common/interfaces'; import { AiPromptResponse } from '@ghostfolio/common/interfaces';
import { permissions } from '@ghostfolio/common/permissions'; import { permissions } from '@ghostfolio/common/permissions';
import type { RequestWithUser } from '@ghostfolio/common/types'; import type { RequestWithUser } from '@ghostfolio/common/types';
import { Controller, Get, Headers, Inject, UseGuards } from '@nestjs/common'; import { Controller, Get, Inject, UseGuards } from '@nestjs/common';
import { REQUEST } from '@nestjs/core'; import { REQUEST } from '@nestjs/core';
import { AuthGuard } from '@nestjs/passport'; import { AuthGuard } from '@nestjs/passport';
@ -20,21 +18,15 @@ import { AiService } from './ai.service';
export class AiController { export class AiController {
public constructor( public constructor(
private readonly aiService: AiService, private readonly aiService: AiService,
private readonly impersonationService: ImpersonationService,
@Inject(REQUEST) private readonly request: RequestWithUser @Inject(REQUEST) private readonly request: RequestWithUser
) {} ) {}
@Get('prompt') @Get('prompt')
@HasPermission(permissions.readAiPrompt) @HasPermission(permissions.readAiPrompt)
@UseGuards(AuthGuard('jwt'), HasPermissionGuard) @UseGuards(AuthGuard('jwt'), HasPermissionGuard)
public async getPrompt( public async getPrompt(): Promise<AiPromptResponse> {
@Headers(HEADER_KEY_IMPERSONATION.toLowerCase()) impersonationId
): Promise<AiPromptResponse> {
const impersonationUserId =
await this.impersonationService.validateImpersonationId(impersonationId);
const prompt = await this.aiService.getPrompt({ const prompt = await this.aiService.getPrompt({
impersonationId: impersonationUserId, impersonationId: undefined,
languageCode: languageCode:
this.request.user.Settings.settings.language ?? DEFAULT_LANGUAGE_CODE, this.request.user.Settings.settings.language ?? DEFAULT_LANGUAGE_CODE,
userCurrency: userCurrency:

Loading…
Cancel
Save