interface AuditingService {
    countDocuments(query?: FilterQuery<AuditLog>): Promise<number>;
    getAuditLogById(
        id: string,
        listQueryOptions?: ListQueryOptions<AuditLog>,
    ): Promise<AuditLog>;
    getAuditLogsByCreatedDate(
        startDate: string,
        endDate?: string,
    ): Promise<AuditLog[]>;
    getAuditLogsByModelId(modelId: string): Promise<AuditLog[]>;
    getAuditLogsByUserId(userId: string): Promise<AuditLog[]>;
    list(
        query?: FilterQuery<AuditLog>,
        listQueryOptions?: ListQueryOptions<AuditLog>,
    ): Promise<AuditLog[]>;
    publishAuditLogCreateEvent(
        modelName: constants.models.ModelName,
        current: BaseModel,
    ): Promise<boolean>;
    publishAuditLogUpdateEvent(
        modelName: constants.models.ModelName,
        current: BaseModel,
        original: BaseModel,
    ): Promise<boolean>;
    recordCreateAuditLog(
        modelName: string,
        current: EventData,
        user: BaseUser,
        source?: models.common.ExecutionContext,
    ): Promise<AuditLog>;
    recordUpdateAuditLog(
        modelName: string,
        current: EventData,
        original: EventData,
        user: BaseUser,
        source?: models.common.ExecutionContext,
    ): Promise<AuditLog>;
}

Methods