- Add ComplianceStatus.PENDING and configVersion to DeviceComplianceInfo - Add ComplianceReport + ComplianceDeviceResult types to ConfigurationEngine - Expose evaluateSpecific() as public (used by compliance + dry-run) - Add complianceReport() method: filter matching devices, evaluate each - Fix matchesCriteria: skip parameterCriteria entries with null/empty name - Fix getDeviceParameterValue: fallback to plain object arrays (DeviceRecord) - Fix findDevice: support lookup by both identifier and deviceId.id - ConfigurationService.update: version is now auto-managed (no user input) - behavioral changes (criteria/params/policy/priority/…) → patch bump - bumpType field allows 'patch' | 'minor' | 'major' - cosmetic changes (name/tags) → no bump - Add sanitizeCriteria: filter null/empty parameterCriteria names silently - Add isBehavioralChange helper - Add DeviceModel.resetComplianceForConfiguration call on behavioral update - Add ConfigurationModel.distinctTags() + controller endpoint GET /tags - Add controller endpoint GET /configurations/:id/compliance - Add DeviceModel.getDistinctValues for inventory fields - Fix unit tests: mock DeviceModel, remove obsolete version-validation test - Add 14 new unit tests (engine: 5, service: 9) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
16 lines
397 B
TypeScript
16 lines
397 B
TypeScript
export enum ComplianceStatus {
|
|
PENDING = 'pending',
|
|
COMPLIANT = 'compliant',
|
|
IN_PROGRESS = 'in_progress',
|
|
FAILED = 'failed',
|
|
}
|
|
|
|
export interface DeviceComplianceInfo {
|
|
status: ComplianceStatus
|
|
configurationIdentifier: string
|
|
/** Version of the config that was evaluated (used to detect stale results) */
|
|
configVersion?: string
|
|
lastEvaluatedAt: Date
|
|
lastError?: string | null
|
|
}
|