fix(api): settings types

This commit is contained in:
yassinedorbozgithub 2024-10-16 18:50:13 +01:00
parent 06f481c8a8
commit 5dda7151cf
2 changed files with 27 additions and 23 deletions

View File

@ -1,11 +1,11 @@
import { type OnEventOptions } from '@nestjs/event-emitter/dist/interfaces'; import { type OnEventOptions } from '@nestjs/event-emitter/dist/interfaces';
import type { TFilterQuery, HydratedDocument, Query, Document } from 'mongoose'; import type { Document, HydratedDocument, Query, TFilterQuery } from 'mongoose';
import { type Socket } from 'socket.io'; import { type Socket } from 'socket.io';
import { type BotStats } from '@/analytics/schemas/bot-stats.schema'; import { type BotStats } from '@/analytics/schemas/bot-stats.schema';
import { type Attachment } from '@/attachment/schemas/attachment.schema'; import { type Attachment } from '@/attachment/schemas/attachment.schema';
import type EventWrapper from '@/channel/lib/EventWrapper'; import type EventWrapper from '@/channel/lib/EventWrapper';
import { type Block, BlockFull } from '@/chat/schemas/block.schema'; import { BlockFull, type Block } from '@/chat/schemas/block.schema';
import { type Category } from '@/chat/schemas/category.schema'; import { type Category } from '@/chat/schemas/category.schema';
import { type ContextVar } from '@/chat/schemas/context-var.schema'; import { type ContextVar } from '@/chat/schemas/context-var.schema';
import { type Conversation } from '@/chat/schemas/conversation.schema'; import { type Conversation } from '@/chat/schemas/conversation.schema';
@ -64,33 +64,33 @@ declare module '@nestjs/event-emitter' {
chatbot_settings: TDefinition< chatbot_settings: TDefinition<
object, object,
{ {
global_fallback: unknown; global_fallback: Setting;
fallback_block: unknown; fallback_block: Setting;
fallback_message: unknown; fallback_message: Setting;
} }
>; >;
contact: TDefinition< contact: TDefinition<
object, object,
{ {
contact_email_recipient: unknown; contact_email_recipient: Setting;
company_name: unknown; company_name: Setting;
company_phone: unknown; company_phone: Setting;
company_email: unknown; company_email: Setting;
company_address1: unknown; company_address1: Setting;
company_address2: unknown; company_address2: Setting;
company_city: unknown; company_city: Setting;
company_zipcode: unknown; company_zipcode: Setting;
company_state: unknown; company_state: Setting;
company_country: unknown; company_country: Setting;
} }
>; >;
nlp_settings: TDefinition< nlp_settings: TDefinition<
object, object,
{ {
provider: unknown; provider: Setting;
endpoint: unknown; endpoint: Setting;
token: unknown; token: Setting;
threshold: number; threshold: Setting;
} }
>; >;
} }

View File

@ -7,7 +7,10 @@
*/ */
import { Injectable } from '@nestjs/common'; import { Injectable } from '@nestjs/common';
import { EventEmitter2 } from '@nestjs/event-emitter'; import {
EventEmitter2,
IHookSettingsGroupLabelOperationMap,
} from '@nestjs/event-emitter';
import { InjectModel } from '@nestjs/mongoose'; import { InjectModel } from '@nestjs/mongoose';
import { Document, Model, Query, Types } from 'mongoose'; import { Document, Model, Query, Types } from 'mongoose';
@ -78,9 +81,10 @@ export class SettingRepository extends BaseRepository<Setting> {
>, >,
setting: Setting, setting: Setting,
) { ) {
const group = setting.group as any; const group = setting.group as keyof IHookSettingsGroupLabelOperationMap;
const label = setting.label as string; const label = setting.label as '*';
// Sync global settings var // Sync global settings var
this.eventEmitter.emit(`hook:${group}:${label}`, setting as any); this.eventEmitter.emit(`hook:${group}:${label}`, setting);
} }
} }