2025-06-18 17:50:36 +00:00
|
|
|
import { IAuditService } from '@/ee/features/audit/types';
|
|
|
|
|
import { MockAuditService } from '@/ee/features/audit/mockAuditService';
|
|
|
|
|
import { AuditService } from '@/ee/features/audit/auditService';
|
2025-06-20 21:57:05 +00:00
|
|
|
import { hasEntitlement } from '@sourcebot/shared';
|
2025-06-18 17:50:36 +00:00
|
|
|
import { env } from '@/env.mjs';
|
|
|
|
|
|
|
|
|
|
let enterpriseService: IAuditService | undefined;
|
|
|
|
|
|
|
|
|
|
export function getAuditService(): IAuditService {
|
2025-06-20 21:57:05 +00:00
|
|
|
const auditLogsEnabled = (env.SOURCEBOT_EE_AUDIT_LOGGING_ENABLED === 'true') && hasEntitlement("audit");
|
|
|
|
|
enterpriseService = enterpriseService ?? (auditLogsEnabled ? new AuditService() : new MockAuditService());
|
2025-06-18 17:50:36 +00:00
|
|
|
return enterpriseService;
|
|
|
|
|
}
|