F4: keep function history in its temporal ledger

This commit is contained in:
2026-09-07 21:22:53 -03:00
parent c30f167731
commit 009f4d10cf
@@ -8,8 +8,7 @@ import { DataSource, EntityManager } from 'typeorm';
import { administrationAuditContext } from '../administration/common/administration-audit'; import { administrationAuditContext } from '../administration/common/administration-audit';
import { AuditService } from '../audit/audit.service'; import { AuditService } from '../audit/audit.service';
import type { AuthPrincipal, RequestWithContext } from '../common/http/request-context'; import type { AuthPrincipal, RequestWithContext } from '../common/http/request-context';
import { AuditAction, AssetVersionChangeType } from '../database/entities'; import { AuditAction } from '../database/entities';
import { AssetHistoryService } from './asset-history.service';
import type { import type {
ChangeInventoryFunctionDto, ChangeInventoryFunctionDto,
CreateInventoryFunctionDto, CreateInventoryFunctionDto,
@@ -65,7 +64,6 @@ export class InventoryFunctionService {
constructor( constructor(
private readonly dataSource: DataSource, private readonly dataSource: DataSource,
private readonly audit: AuditService, private readonly audit: AuditService,
private readonly history: AssetHistoryService,
) {} ) {}
async list(includeInactive = false): Promise<{ data: InventoryFunctionRow[] }> { async list(includeInactive = false): Promise<{ data: InventoryFunctionRow[] }> {
@@ -207,13 +205,6 @@ export class InventoryFunctionService {
await manager.query(` await manager.query(`
UPDATE assets SET updated_by=$2,updated_at=CURRENT_TIMESTAMP WHERE id=$1 UPDATE assets SET updated_by=$2,updated_at=CURRENT_TIMESTAMP WHERE id=$1
`, [assetId, principal.userId]); `, [assetId, principal.userId]);
const versionNumber = await this.history.capture(
manager,
assetId,
AssetVersionChangeType.FUNCTION_CHANGED,
principal,
request,
);
const after = await this.getForAssetWithManager(manager, assetId); const after = await this.getForAssetWithManager(manager, assetId);
await this.audit.record({ await this.audit.record({
...administrationAuditContext(principal, request), ...administrationAuditContext(principal, request),
@@ -236,8 +227,8 @@ export class InventoryFunctionService {
metadata: { metadata: {
inventoryCode: asset.code, inventoryCode: asset.code,
inventoryName: asset.name, inventoryName: asset.name,
versionNumber,
temporal: true, temporal: true,
historySource: 'inventory_function_assignments',
}, },
}, manager); }, manager);
return after; return after;