first commit

This commit is contained in:
lendry
2026-06-24 14:37:15 +03:00
commit 995adeedd4
188 changed files with 28810 additions and 0 deletions

View File

@@ -0,0 +1,60 @@
import { Module } from '@nestjs/common';
import { ConfigModule, ConfigService } from '@nestjs/config';
import { JwtModule } from '@nestjs/jwt';
import { ClientsModule, Transport } from '@nestjs/microservices';
import { join } from 'node:path';
import { AdminController } from './controllers/admin.controller';
import { AuthController } from './controllers/auth.controller';
import { RbacController } from './controllers/rbac.controller';
import { SecurityController } from './controllers/security.controller';
import { SettingsController } from './controllers/settings.controller';
import { HealthController } from './controllers/health.controller';
import { PublicSettingsController } from './controllers/public-settings.controller';
import { ProfileController } from './controllers/profile.controller';
import { DocumentsController } from './controllers/documents.controller';
import { AddressesController } from './controllers/addresses.controller';
import { OAuthController } from './controllers/oauth.controller';
import { AdvancedAuthController } from './controllers/advanced-auth.controller';
import { FamilyController } from './controllers/family.controller';
import { ChatController } from './controllers/chat.controller';
import { NotificationsController } from './controllers/notifications.controller';
import { MediaController } from './controllers/media.controller';
import { CoreGrpcService } from './core-grpc.service';
import { AdminGuard, SuperAdminGuard } from './guards/admin.guard';
@Module({
imports: [
ConfigModule.forRoot({ isGlobal: true }),
JwtModule.register({}),
ClientsModule.registerAsync([
{
name: 'SSO_CORE',
imports: [ConfigModule],
inject: [ConfigService],
useFactory: (config: ConfigService) => ({
transport: Transport.GRPC,
options: {
package: ['auth', 'admin', 'rbac', 'security', 'profile', 'documents', 'addresses', 'identity', 'media', 'notifications', 'chat'],
protoPath: [
join(__dirname, '../../../shared/proto/auth.proto'),
join(__dirname, '../../../shared/proto/admin.proto'),
join(__dirname, '../../../shared/proto/rbac.proto'),
join(__dirname, '../../../shared/proto/security.proto'),
join(__dirname, '../../../shared/proto/profile.proto'),
join(__dirname, '../../../shared/proto/documents.proto'),
join(__dirname, '../../../shared/proto/addresses.proto'),
join(__dirname, '../../../shared/proto/identity.proto'),
join(__dirname, '../../../shared/proto/media.proto'),
join(__dirname, '../../../shared/proto/notifications.proto'),
join(__dirname, '../../../shared/proto/chat.proto')
],
url: config.get<string>('SSO_CORE_GRPC_URL', 'localhost:50051')
}
})
}
])
],
controllers: [AuthController, AdminController, RbacController, SecurityController, SettingsController, PublicSettingsController, HealthController, ProfileController, DocumentsController, AddressesController, OAuthController, AdvancedAuthController, FamilyController, ChatController, NotificationsController, MediaController],
providers: [CoreGrpcService, AdminGuard, SuperAdminGuard]
})
export class AppModule {}