diff --git a/api/migrations/models/index.ts b/api/migrations/models/index.ts index f99665ac..9d13dd21 100644 --- a/api/migrations/models/index.ts +++ b/api/migrations/models/index.ts @@ -26,13 +26,13 @@ import conversationSchema, { import labelSchema, { Label } from '@/chat/schemas/label.schema'; import messageSchema, { Message } from '@/chat/schemas/message.schema'; import subscriberSchema, { Subscriber } from '@/chat/schemas/subscriber.schema'; -import translationSchema, { - Translation, -} from '@/chat/schemas/translation.schema'; import { ContentType } from '@/cms/schemas/content-type.schema'; import contentSchema, { Content } from '@/cms/schemas/content.schema'; import menuSchema, { Menu } from '@/cms/schemas/menu.schema'; import { config } from '@/config'; +import translationSchema, { + Translation, +} from '@/i18n/schemas/translation.schema'; import nlpEntitySchema, { NlpEntity } from '@/nlp/schemas/nlp-entity.schema'; import nlpSampleEntitySchema, { NlpSampleEntity, diff --git a/api/src/chat/chat.module.ts b/api/src/chat/chat.module.ts index 772a7ab2..0c1cefad 100644 --- a/api/src/chat/chat.module.ts +++ b/api/src/chat/chat.module.ts @@ -23,7 +23,6 @@ import { ContextVarController } from './controllers/context-var.controller'; import { LabelController } from './controllers/label.controller'; import { MessageController } from './controllers/message.controller'; import { SubscriberController } from './controllers/subscriber.controller'; -import { TranslationController } from './controllers/translation.controller'; import { BlockRepository } from './repositories/block.repository'; import { CategoryRepository } from './repositories/category.repository'; import { ContextVarRepository } from './repositories/context-var.repository'; @@ -31,7 +30,6 @@ import { ConversationRepository } from './repositories/conversation.repository'; import { LabelRepository } from './repositories/label.repository'; import { MessageRepository } from './repositories/message.repository'; import { SubscriberRepository } from './repositories/subscriber.repository'; -import { TranslationRepository } from './repositories/translation.repository'; import { BlockModel } from './schemas/block.schema'; import { CategoryModel } from './schemas/category.schema'; import { ContextVarModel } from './schemas/context-var.schema'; @@ -39,10 +37,8 @@ import { ConversationModel } from './schemas/conversation.schema'; import { LabelModel } from './schemas/label.schema'; import { MessageModel } from './schemas/message.schema'; import { SubscriberModel } from './schemas/subscriber.schema'; -import { TranslationModel } from './schemas/translation.schema'; import { CategorySeeder } from './seeds/category.seed'; import { ContextVarSeeder } from './seeds/context-var.seed'; -import { TranslationSeeder } from './seeds/translation.seed'; import { BlockService } from './services/block.service'; import { BotService } from './services/bot.service'; import { CategoryService } from './services/category.service'; @@ -52,7 +48,6 @@ import { ConversationService } from './services/conversation.service'; import { LabelService } from './services/label.service'; import { MessageService } from './services/message.service'; import { SubscriberService } from './services/subscriber.service'; -import { TranslationService } from './services/translation.service'; @Module({ imports: [ @@ -63,7 +58,6 @@ import { TranslationService } from './services/translation.service'; BlockModel, MessageModel, SubscriberModel, - TranslationModel, ConversationModel, SubscriberModel, ]), @@ -81,7 +75,6 @@ import { TranslationService } from './services/translation.service'; BlockController, MessageController, SubscriberController, - TranslationController, ], providers: [ CategoryRepository, @@ -90,7 +83,6 @@ import { TranslationService } from './services/translation.service'; BlockRepository, MessageRepository, SubscriberRepository, - TranslationRepository, ConversationRepository, CategoryService, ContextVarService, @@ -98,13 +90,11 @@ import { TranslationService } from './services/translation.service'; BlockService, MessageService, SubscriberService, - TranslationService, CategorySeeder, ContextVarSeeder, ConversationService, ChatService, BotService, - TranslationSeeder, ], exports: [SubscriberService, MessageService, LabelService, BlockService], }) diff --git a/api/src/chat/controllers/translation.controller.spec.ts b/api/src/i18n/controllers/translation.controller.spec.ts similarity index 91% rename from api/src/chat/controllers/translation.controller.spec.ts rename to api/src/i18n/controllers/translation.controller.spec.ts index 27aef366..bba1c045 100644 --- a/api/src/chat/controllers/translation.controller.spec.ts +++ b/api/src/i18n/controllers/translation.controller.spec.ts @@ -17,6 +17,16 @@ import { AttachmentRepository } from '@/attachment/repositories/attachment.repos import { AttachmentModel } from '@/attachment/schemas/attachment.schema'; import { AttachmentService } from '@/attachment/services/attachment.service'; import { ChannelService } from '@/channel/channel.service'; +import { MessageController } from '@/chat/controllers/message.controller'; +import { BlockRepository } from '@/chat/repositories/block.repository'; +import { MessageRepository } from '@/chat/repositories/message.repository'; +import { SubscriberRepository } from '@/chat/repositories/subscriber.repository'; +import { BlockModel } from '@/chat/schemas/block.schema'; +import { MessageModel } from '@/chat/schemas/message.schema'; +import { SubscriberModel } from '@/chat/schemas/subscriber.schema'; +import { BlockService } from '@/chat/services/block.service'; +import { MessageService } from '@/chat/services/message.service'; +import { SubscriberService } from '@/chat/services/subscriber.service'; import { ContentRepository } from '@/cms/repositories/content.repository'; import { MenuRepository } from '@/cms/repositories/menu.repository'; import { ContentModel } from '@/cms/schemas/content.schema'; @@ -39,20 +49,10 @@ import { rootMongooseTestModule, } from '@/utils/test/test'; -import { MessageController } from './message.controller'; import { TranslationController } from './translation.controller'; import { TranslationUpdateDto } from '../dto/translation.dto'; -import { BlockRepository } from '../repositories/block.repository'; -import { MessageRepository } from '../repositories/message.repository'; -import { SubscriberRepository } from '../repositories/subscriber.repository'; import { TranslationRepository } from '../repositories/translation.repository'; -import { BlockModel } from '../schemas/block.schema'; -import { MessageModel } from '../schemas/message.schema'; -import { SubscriberModel } from '../schemas/subscriber.schema'; import { Translation, TranslationModel } from '../schemas/translation.schema'; -import { BlockService } from '../services/block.service'; -import { MessageService } from '../services/message.service'; -import { SubscriberService } from '../services/subscriber.service'; import { TranslationService } from '../services/translation.service'; describe('TranslationController', () => { diff --git a/api/src/chat/controllers/translation.controller.ts b/api/src/i18n/controllers/translation.controller.ts similarity index 100% rename from api/src/chat/controllers/translation.controller.ts rename to api/src/i18n/controllers/translation.controller.ts diff --git a/api/src/chat/dto/translation.dto.ts b/api/src/i18n/dto/translation.dto.ts similarity index 100% rename from api/src/chat/dto/translation.dto.ts rename to api/src/i18n/dto/translation.dto.ts diff --git a/api/src/i18n/i18n.module.ts b/api/src/i18n/i18n.module.ts index 9c781677..4117aa45 100644 --- a/api/src/i18n/i18n.module.ts +++ b/api/src/i18n/i18n.module.ts @@ -9,6 +9,7 @@ import { DynamicModule, Global, Inject, Module } from '@nestjs/common'; import { HttpAdapterHost } from '@nestjs/core'; +import { MongooseModule } from '@nestjs/mongoose'; import { I18N_OPTIONS, I18N_TRANSLATIONS, @@ -18,7 +19,12 @@ import { } from 'nestjs-i18n'; import { Observable } from 'rxjs'; +import { TranslationController } from './controllers/translation.controller'; +import { TranslationRepository } from './repositories/translation.repository'; +import { TranslationModel } from './schemas/translation.schema'; +import { TranslationSeeder } from './seeds/translation.seed'; import { I18nService } from './services/i18n.service'; +import { TranslationService } from './services/translation.service'; @Global() @Module({}) @@ -34,10 +40,17 @@ export class I18nModule extends NativeI18nModule { } static forRoot(options: I18nOptions): DynamicModule { - const { providers, exports } = super.forRoot(options); + const { imports, providers, controllers, exports } = super.forRoot(options); return { module: I18nModule, - providers: providers.concat(I18nService), + imports: imports.concat([MongooseModule.forFeature([TranslationModel])]), + controllers: controllers.concat([TranslationController]), + providers: providers.concat([ + I18nService, + TranslationRepository, + TranslationService, + TranslationSeeder, + ]), exports: exports.concat(I18nService), }; } diff --git a/api/src/chat/repositories/translation.repository.ts b/api/src/i18n/repositories/translation.repository.ts similarity index 97% rename from api/src/chat/repositories/translation.repository.ts rename to api/src/i18n/repositories/translation.repository.ts index 0e969458..1009057c 100644 --- a/api/src/chat/repositories/translation.repository.ts +++ b/api/src/i18n/repositories/translation.repository.ts @@ -14,7 +14,7 @@ import { Document, Model, Query, Types } from 'mongoose'; import { BaseRepository, DeleteResult } from '@/utils/generics/base-repository'; -import { Translation } from '../schemas/translation.schema'; +import { Translation } from '../../i18n/schemas/translation.schema'; @Injectable() export class TranslationRepository extends BaseRepository { diff --git a/api/src/chat/schemas/translation.schema.ts b/api/src/i18n/schemas/translation.schema.ts similarity index 100% rename from api/src/chat/schemas/translation.schema.ts rename to api/src/i18n/schemas/translation.schema.ts diff --git a/api/src/chat/seeds/translation.seed-model.ts b/api/src/i18n/seeds/translation.seed-model.ts similarity index 100% rename from api/src/chat/seeds/translation.seed-model.ts rename to api/src/i18n/seeds/translation.seed-model.ts diff --git a/api/src/chat/seeds/translation.seed.ts b/api/src/i18n/seeds/translation.seed.ts similarity index 100% rename from api/src/chat/seeds/translation.seed.ts rename to api/src/i18n/seeds/translation.seed.ts diff --git a/api/src/i18n/services/i18n.service.ts b/api/src/i18n/services/i18n.service.ts index b9fc7f21..60a5568e 100644 --- a/api/src/i18n/services/i18n.service.ts +++ b/api/src/i18n/services/i18n.service.ts @@ -17,8 +17,8 @@ import { } from 'nestjs-i18n'; import { IfAnyOrNever } from 'nestjs-i18n/dist/types'; -import { Translation } from '@/chat/schemas/translation.schema'; import { config } from '@/config'; +import { Translation } from '@/i18n/schemas/translation.schema'; @Injectable() export class I18nService< diff --git a/api/src/chat/services/translation.service.ts b/api/src/i18n/services/translation.service.ts similarity index 97% rename from api/src/chat/services/translation.service.ts rename to api/src/i18n/services/translation.service.ts index 9895dc4e..924de406 100644 --- a/api/src/chat/services/translation.service.ts +++ b/api/src/i18n/services/translation.service.ts @@ -14,9 +14,9 @@ import { I18nService } from '@/i18n/services/i18n.service'; import { SettingService } from '@/setting/services/setting.service'; import { BaseService } from '@/utils/generics/base-service'; -import { BlockService } from './block.service'; +import { Block } from '../../chat/schemas/block.schema'; +import { BlockService } from '../../chat/services/block.service'; import { TranslationRepository } from '../repositories/translation.repository'; -import { Block } from '../schemas/block.schema'; import { Translation } from '../schemas/translation.schema'; @Injectable() diff --git a/api/src/seeder.ts b/api/src/seeder.ts index c94c20b7..a05b09d3 100644 --- a/api/src/seeder.ts +++ b/api/src/seeder.ts @@ -13,8 +13,8 @@ import { CategorySeeder } from './chat/seeds/category.seed'; import { categoryModels } from './chat/seeds/category.seed-model'; import { ContextVarSeeder } from './chat/seeds/context-var.seed'; import { contextVarModels } from './chat/seeds/context-var.seed-model'; -import { TranslationSeeder } from './chat/seeds/translation.seed'; -import { translationModels } from './chat/seeds/translation.seed-model'; +import { TranslationSeeder } from './i18n/seeds/translation.seed'; +import { translationModels } from './i18n/seeds/translation.seed-model'; import { LoggerService } from './logger/logger.service'; import { NlpEntitySeeder } from './nlp/seeds/nlp-entity.seed'; import { nlpEntityModels } from './nlp/seeds/nlp-entity.seed-model'; diff --git a/api/src/utils/test/fixtures/translation.ts b/api/src/utils/test/fixtures/translation.ts index 35c2f8d5..3e9989b8 100644 --- a/api/src/utils/test/fixtures/translation.ts +++ b/api/src/utils/test/fixtures/translation.ts @@ -9,8 +9,8 @@ import mongoose from 'mongoose'; -import { TranslationUpdateDto } from '@/chat/dto/translation.dto'; -import { TranslationModel } from '@/chat/schemas/translation.schema'; +import { TranslationUpdateDto } from '@/i18n/dto/translation.dto'; +import { TranslationModel } from '@/i18n/schemas/translation.schema'; export const translationFixtures: TranslationUpdateDto[] = [ {