feat(api): módulo de consultas de solo lectura a la base de SAP (HANA con hdb): consultas registradas con parámetros con nombre, cola, auditoría y extensión por cliente
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
9118985d96
commit
3e27f370dc
21 files changed
+770
-2
No files matched your search
@@ -0,0 +1,36 @@
|
||||
import { Module } from '@nestjs/common';
|
||||
import { AuditModule } from '../audit/audit.module.js';
|
||||
import { AppConfigService } from '../config/app-config.service.js';
|
||||
import { PermissionsModule } from '../permissions/permissions.module.js';
|
||||
import { HanaAdapter } from './hana.adapter.js';
|
||||
import { SapDbController } from './sapdb.controller.js';
|
||||
import { SapDbService } from './sapdb.service.js';
|
||||
import { SAPDB_ADAPTER, type SapDbAdapter } from './sapdb.types.js';
|
||||
|
||||
/** Consultas de solo lectura a la base de SAP B1 (hoy HANA): su propia cola y sus propias consultas registradas. */
|
||||
@Module({
|
||||
imports: [AuditModule, PermissionsModule],
|
||||
controllers: [SapDbController],
|
||||
providers: [
|
||||
{
|
||||
provide: SAPDB_ADAPTER,
|
||||
inject: [AppConfigService],
|
||||
// sin motor configurado no hay adaptador: el servicio responde 503 y el resto de la API sigue igual
|
||||
useFactory: (config: AppConfigService): SapDbAdapter | null =>
|
||||
config.get('SAPDB_ENGINE') === 'hana'
|
||||
? new HanaAdapter({
|
||||
host: config.get('SAPDB_HOST')!,
|
||||
port: config.get('SAPDB_PORT'),
|
||||
user: config.get('SAPDB_USER')!,
|
||||
password: config.get('SAPDB_PASSWORD')!,
|
||||
schema: config.get('SAPDB_SCHEMA')!,
|
||||
tls: config.get('SAPDB_TLS'),
|
||||
caFile: config.get('SAPDB_CA_FILE'),
|
||||
verifySsl: config.get('SAPDB_VERIFY_SSL'),
|
||||
})
|
||||
: null,
|
||||
},
|
||||
SapDbService,
|
||||
],
|
||||
})
|
||||
export class SapDbModule {}
|
||||
Reference in new issue
Block a user