From e44e98f1cece9310e940e03d06900c0191a76ddf Mon Sep 17 00:00:00 2001 From: jamby77 Date: Mon, 23 Mar 2026 12:00:51 +0200 Subject: [PATCH] Refactor license module imports and paths to use plural 'licenses' instead of 'license'. This change affects multiple files across the API and proprietary directories, ensuring consistency in module references and improving clarity in the codebase. --- apps/api/src/app.module.ts | 2 +- apps/api/src/client-analytics/client-analytics.module.ts | 2 +- apps/api/src/health/health.service.ts | 2 +- apps/api/src/main.ts | 2 +- apps/api/src/telemetry/usage-telemetry.service.ts | 2 +- apps/api/src/webhooks/__tests__/webhooks.service.spec.ts | 2 +- apps/api/src/webhooks/webhooks.service.ts | 2 +- proprietary/README.md | 2 +- proprietary/anomaly-detection/anomaly.controller.ts | 2 +- .../data-retention/__tests__/data-retention.service.spec.ts | 4 ++-- proprietary/data-retention/data-retention.service.ts | 4 ++-- proprietary/key-analytics/key-analytics.controller.ts | 4 ++-- proprietary/key-analytics/key-analytics.module.ts | 2 +- proprietary/key-analytics/key-analytics.service.ts | 4 ++-- .../{license => licenses}/__tests__/license.service.spec.ts | 0 proprietary/{license => licenses}/index.ts | 0 proprietary/{license => licenses}/license.controller.ts | 0 proprietary/{license => licenses}/license.guard.ts | 0 proprietary/{license => licenses}/license.module.ts | 0 proprietary/{license => licenses}/license.service.spec.ts | 0 proprietary/{license => licenses}/license.service.ts | 0 .../{license => licenses}/requires-feature.decorator.ts | 0 proprietary/{license => licenses}/types.ts | 0 proprietary/webhook-pro/webhook-events-enterprise.service.ts | 2 +- proprietary/webhook-pro/webhook-events-pro.service.ts | 2 +- proprietary/webhook-pro/webhook-pro.module.ts | 2 +- 26 files changed, 21 insertions(+), 21 deletions(-) rename proprietary/{license => licenses}/__tests__/license.service.spec.ts (100%) rename proprietary/{license => licenses}/index.ts (100%) rename proprietary/{license => licenses}/license.controller.ts (100%) rename proprietary/{license => licenses}/license.guard.ts (100%) rename proprietary/{license => licenses}/license.module.ts (100%) rename proprietary/{license => licenses}/license.service.spec.ts (100%) rename proprietary/{license => licenses}/license.service.ts (100%) rename proprietary/{license => licenses}/requires-feature.decorator.ts (100%) rename proprietary/{license => licenses}/types.ts (100%) diff --git a/apps/api/src/app.module.ts b/apps/api/src/app.module.ts index b4fec19..e63e8d3 100644 --- a/apps/api/src/app.module.ts +++ b/apps/api/src/app.module.ts @@ -37,7 +37,7 @@ try { } try { - const licenseModule = require('../../../proprietary/license/license.module'); + const licenseModule = require('../../../proprietary/licenses/license.module'); LicenseModule = licenseModule.LicenseModule; console.log('[License] Proprietary module loaded'); } catch { diff --git a/apps/api/src/client-analytics/client-analytics.module.ts b/apps/api/src/client-analytics/client-analytics.module.ts index d4a67e3..1ccd2b4 100644 --- a/apps/api/src/client-analytics/client-analytics.module.ts +++ b/apps/api/src/client-analytics/client-analytics.module.ts @@ -4,7 +4,7 @@ import { ClientAnalyticsService } from './client-analytics.service'; import { ClientAnalyticsAnalysisService } from './client-analytics-analysis.service'; import { StorageModule } from '../storage/storage.module'; import { PrometheusModule } from '../prometheus/prometheus.module'; -import { LicenseModule } from '@proprietary/license'; +import { LicenseModule } from '@proprietary/licenses'; @Module({ imports: [StorageModule, PrometheusModule, LicenseModule], diff --git a/apps/api/src/health/health.service.ts b/apps/api/src/health/health.service.ts index eb7c0a6..31b72ca 100644 --- a/apps/api/src/health/health.service.ts +++ b/apps/api/src/health/health.service.ts @@ -3,7 +3,7 @@ import { HealthResponse, DetailedHealthResponse, WebhookEventType, ANOMALY_SERVI import { ConnectionRegistry } from '../connections/connection-registry.service'; import { RuntimeCapabilityTracker } from '../connections/runtime-capability-tracker.service'; import { WebhookDispatcherService } from '../webhooks/webhook-dispatcher.service'; -import { LicenseService } from '@proprietary/license'; +import { LicenseService } from '@proprietary/licenses'; import { MultiConnectionPoller, ConnectionContext } from '../common/services/multi-connection-poller'; @Injectable() diff --git a/apps/api/src/main.ts b/apps/api/src/main.ts index 5853c2a..6f4313c 100644 --- a/apps/api/src/main.ts +++ b/apps/api/src/main.ts @@ -85,7 +85,7 @@ async function bootstrap(): Promise { // Register startup error handlers — report fatal errors within the first 60s let licenseService: { sendStartupError(msg: string, cat: string): Promise } | null = null; try { - const { LicenseService } = require('../../../proprietary/license/license.service'); + const { LicenseService } = require('../../../proprietary/licenses/license.service'); licenseService = app.get(LicenseService); } catch { // LicenseService not available — skip startup error reporting diff --git a/apps/api/src/telemetry/usage-telemetry.service.ts b/apps/api/src/telemetry/usage-telemetry.service.ts index 52212c2..986c9cb 100644 --- a/apps/api/src/telemetry/usage-telemetry.service.ts +++ b/apps/api/src/telemetry/usage-telemetry.service.ts @@ -1,5 +1,5 @@ import { Injectable, Optional, OnModuleInit } from '@nestjs/common'; -import { LicenseService } from '@proprietary/license'; +import { LicenseService } from '@proprietary/licenses'; @Injectable() export class UsageTelemetryService implements OnModuleInit { diff --git a/apps/api/src/webhooks/__tests__/webhooks.service.spec.ts b/apps/api/src/webhooks/__tests__/webhooks.service.spec.ts index 632544a..f3df290 100644 --- a/apps/api/src/webhooks/__tests__/webhooks.service.spec.ts +++ b/apps/api/src/webhooks/__tests__/webhooks.service.spec.ts @@ -3,7 +3,7 @@ import { BadRequestException, ForbiddenException } from '@nestjs/common'; import { WebhooksService } from '../webhooks.service'; import { StoragePort } from '../../common/interfaces/storage-port.interface'; import { ConnectionRegistry } from '../../connections/connection-registry.service'; -import { LicenseService } from '@proprietary/license'; +import { LicenseService } from '@proprietary/licenses'; import { WebhookEventType, Tier } from '@betterdb/shared'; describe('WebhooksService', () => { diff --git a/apps/api/src/webhooks/webhooks.service.ts b/apps/api/src/webhooks/webhooks.service.ts index 9afc106..1557e8a 100644 --- a/apps/api/src/webhooks/webhooks.service.ts +++ b/apps/api/src/webhooks/webhooks.service.ts @@ -6,7 +6,7 @@ import { Tier, validateEventsForTier, getRequiredTierForEvent, getEventsForTier, import { StoragePort } from '../common/interfaces/storage-port.interface'; import { CreateWebhookDto, UpdateWebhookDto } from '../common/dto/webhook.dto'; import { ConnectionRegistry } from '../connections/connection-registry.service'; -import { LicenseService } from '@proprietary/license'; +import { LicenseService } from '@proprietary/licenses'; @Injectable() export class WebhooksService { diff --git a/proprietary/README.md b/proprietary/README.md index 8ba968b..7c02063 100644 --- a/proprietary/README.md +++ b/proprietary/README.md @@ -22,7 +22,7 @@ Contact sales@betterdb.com for commercial licensing options, or visit [betterdb. ## Features in This Directory -### License (`/license`) +### License (`/licenses`) License validation and feature gating infrastructure. - Provides `LicenseGuard` and `@RequiresFeature()` decorator - Checks `BETTERDB_LICENSE_KEY` env var diff --git a/proprietary/anomaly-detection/anomaly.controller.ts b/proprietary/anomaly-detection/anomaly.controller.ts index e84d2f1..7a3f834 100644 --- a/proprietary/anomaly-detection/anomaly.controller.ts +++ b/proprietary/anomaly-detection/anomaly.controller.ts @@ -9,7 +9,7 @@ import { MetricType, AnomalyPattern, } from './types'; -import { LicenseGuard, RequiresFeature, Feature } from '@proprietary/license'; +import { LicenseGuard, RequiresFeature, Feature } from '@proprietary/licenses'; import { ConnectionId, CONNECTION_ID_HEADER } from '../../apps/api/src/common/decorators'; @Controller('anomaly') diff --git a/proprietary/data-retention/__tests__/data-retention.service.spec.ts b/proprietary/data-retention/__tests__/data-retention.service.spec.ts index 9af5fa8..d199ca1 100644 --- a/proprietary/data-retention/__tests__/data-retention.service.spec.ts +++ b/proprietary/data-retention/__tests__/data-retention.service.spec.ts @@ -1,7 +1,7 @@ import { Test, TestingModule } from '@nestjs/testing'; import { DataRetentionService } from '../data-retention.service'; -import { LicenseService } from '@proprietary/license/license.service'; -import { Tier } from '@proprietary/license/types'; +import { LicenseService } from '@proprietary/licenses/license.service'; +import { Tier } from '@proprietary/licenses/types'; import { StoragePort } from '@app/common/interfaces/storage-port.interface'; const MS_PER_DAY = 24 * 60 * 60 * 1000; diff --git a/proprietary/data-retention/data-retention.service.ts b/proprietary/data-retention/data-retention.service.ts index c075685..3af83f6 100644 --- a/proprietary/data-retention/data-retention.service.ts +++ b/proprietary/data-retention/data-retention.service.ts @@ -1,7 +1,7 @@ import { Injectable, Logger, Inject } from '@nestjs/common'; import { Cron } from '@nestjs/schedule'; -import { LicenseService } from '@proprietary/license/license.service'; -import { Tier } from '@proprietary/license/types'; +import { LicenseService } from '@proprietary/licenses/license.service'; +import { Tier } from '@proprietary/licenses/types'; import { StoragePort } from '@app/common/interfaces/storage-port.interface'; const RETENTION_DAYS: Record = { diff --git a/proprietary/key-analytics/key-analytics.controller.ts b/proprietary/key-analytics/key-analytics.controller.ts index 4924aa8..90aa6f9 100644 --- a/proprietary/key-analytics/key-analytics.controller.ts +++ b/proprietary/key-analytics/key-analytics.controller.ts @@ -1,8 +1,8 @@ import { Controller, Get, Post, Delete, Query, UseGuards, HttpCode, HttpStatus } from '@nestjs/common'; import { ApiHeader } from '@nestjs/swagger'; import { KeyAnalyticsService } from './key-analytics.service'; -import { LicenseGuard } from '@proprietary/license/license.guard'; -import { RequiresFeature } from '@proprietary/license/requires-feature.decorator'; +import { LicenseGuard } from '@proprietary/licenses/license.guard'; +import { RequiresFeature } from '@proprietary/licenses/requires-feature.decorator'; import { ConnectionId, CONNECTION_ID_HEADER } from '../../apps/api/src/common/decorators'; const MAX_LIMIT = 500; diff --git a/proprietary/key-analytics/key-analytics.module.ts b/proprietary/key-analytics/key-analytics.module.ts index bef6308..1a15503 100644 --- a/proprietary/key-analytics/key-analytics.module.ts +++ b/proprietary/key-analytics/key-analytics.module.ts @@ -2,7 +2,7 @@ import { Module } from '@nestjs/common'; import { KeyAnalyticsService } from './key-analytics.service'; import { KeyAnalyticsController } from './key-analytics.controller'; import { StorageModule } from '@app/storage/storage.module'; -import { LicenseModule } from '@proprietary/license/license.module'; +import { LicenseModule } from '@proprietary/licenses/license.module'; @Module({ imports: [StorageModule, LicenseModule], diff --git a/proprietary/key-analytics/key-analytics.service.ts b/proprietary/key-analytics/key-analytics.service.ts index f9ec9b1..919d1d7 100644 --- a/proprietary/key-analytics/key-analytics.service.ts +++ b/proprietary/key-analytics/key-analytics.service.ts @@ -2,8 +2,8 @@ import { Injectable, Logger, OnModuleInit, Inject } from '@nestjs/common'; import { StoragePort, KeyPatternSnapshot, HotKeyEntry, HotKeyQueryOptions } from '@app/common/interfaces/storage-port.interface'; import { MultiConnectionPoller, ConnectionContext } from '@app/common/services/multi-connection-poller'; import { ConnectionRegistry } from '@app/connections/connection-registry.service'; -import { LicenseService } from '@proprietary/license/license.service'; -import { Tier } from '@proprietary/license/types'; +import { LicenseService } from '@proprietary/licenses/license.service'; +import { Tier } from '@proprietary/licenses/types'; import { randomUUID } from 'crypto'; const HOT_KEYS_TOP_N = 50; diff --git a/proprietary/license/__tests__/license.service.spec.ts b/proprietary/licenses/__tests__/license.service.spec.ts similarity index 100% rename from proprietary/license/__tests__/license.service.spec.ts rename to proprietary/licenses/__tests__/license.service.spec.ts diff --git a/proprietary/license/index.ts b/proprietary/licenses/index.ts similarity index 100% rename from proprietary/license/index.ts rename to proprietary/licenses/index.ts diff --git a/proprietary/license/license.controller.ts b/proprietary/licenses/license.controller.ts similarity index 100% rename from proprietary/license/license.controller.ts rename to proprietary/licenses/license.controller.ts diff --git a/proprietary/license/license.guard.ts b/proprietary/licenses/license.guard.ts similarity index 100% rename from proprietary/license/license.guard.ts rename to proprietary/licenses/license.guard.ts diff --git a/proprietary/license/license.module.ts b/proprietary/licenses/license.module.ts similarity index 100% rename from proprietary/license/license.module.ts rename to proprietary/licenses/license.module.ts diff --git a/proprietary/license/license.service.spec.ts b/proprietary/licenses/license.service.spec.ts similarity index 100% rename from proprietary/license/license.service.spec.ts rename to proprietary/licenses/license.service.spec.ts diff --git a/proprietary/license/license.service.ts b/proprietary/licenses/license.service.ts similarity index 100% rename from proprietary/license/license.service.ts rename to proprietary/licenses/license.service.ts diff --git a/proprietary/license/requires-feature.decorator.ts b/proprietary/licenses/requires-feature.decorator.ts similarity index 100% rename from proprietary/license/requires-feature.decorator.ts rename to proprietary/licenses/requires-feature.decorator.ts diff --git a/proprietary/license/types.ts b/proprietary/licenses/types.ts similarity index 100% rename from proprietary/license/types.ts rename to proprietary/licenses/types.ts diff --git a/proprietary/webhook-pro/webhook-events-enterprise.service.ts b/proprietary/webhook-pro/webhook-events-enterprise.service.ts index 30ed964..0759e5c 100644 --- a/proprietary/webhook-pro/webhook-events-enterprise.service.ts +++ b/proprietary/webhook-pro/webhook-events-enterprise.service.ts @@ -1,7 +1,7 @@ import { Injectable, Logger, OnModuleInit } from '@nestjs/common'; import { WebhookDispatcherService } from '@app/webhooks/webhook-dispatcher.service'; import { WebhookEventType } from '@betterdb/shared'; -import { LicenseService } from '@proprietary/license'; +import { LicenseService } from '@proprietary/licenses'; /** * Webhook Events Enterprise Service - Generates ENTERPRISE tier webhook events diff --git a/proprietary/webhook-pro/webhook-events-pro.service.ts b/proprietary/webhook-pro/webhook-events-pro.service.ts index 2606e4d..26ea377 100644 --- a/proprietary/webhook-pro/webhook-events-pro.service.ts +++ b/proprietary/webhook-pro/webhook-events-pro.service.ts @@ -1,7 +1,7 @@ import { Injectable, Logger, OnModuleInit, Inject } from '@nestjs/common'; import { WebhookDispatcherService } from '@app/webhooks/webhook-dispatcher.service'; import { WebhookEventType } from '@betterdb/shared'; -import { LicenseService } from '@proprietary/license'; +import { LicenseService } from '@proprietary/licenses'; /** * Webhook Events Pro Service - Generates PRO tier webhook events diff --git a/proprietary/webhook-pro/webhook-pro.module.ts b/proprietary/webhook-pro/webhook-pro.module.ts index a25ead0..cf9472e 100644 --- a/proprietary/webhook-pro/webhook-pro.module.ts +++ b/proprietary/webhook-pro/webhook-pro.module.ts @@ -3,7 +3,7 @@ import { ConfigModule } from '@nestjs/config'; import { StorageModule } from '@app/storage/storage.module'; import { WebhooksModule } from '@app/webhooks/webhooks.module'; import { SettingsModule } from '@app/settings/settings.module'; -import { LicenseModule } from '@proprietary/license'; +import { LicenseModule } from '@proprietary/licenses'; import { WebhookProService } from './webhook-pro.service'; import { WebhookAnomalyIntegrationService } from './webhook-anomaly-integration.service'; import { WebhookDlqService } from './webhook-dlq.service';