From bd7e78641ee5e822f70a76ac8cb25db3123e32f8 Mon Sep 17 00:00:00 2001 From: saravanakumardb1 Date: Sun, 1 Mar 2026 17:42:28 -0800 Subject: [PATCH] fix(platform): replace Math.random() IDs with crypto.randomUUID() in 5 P2 modules --- services/platform-service/src/modules/changelog/repository.ts | 3 ++- .../platform-service/src/modules/experiments/repository.ts | 3 ++- services/platform-service/src/modules/feedback/repository.ts | 3 ++- .../platform-service/src/modules/impersonation/repository.ts | 3 ++- .../platform-service/src/modules/push-triggers/repository.ts | 3 ++- 5 files changed, 10 insertions(+), 5 deletions(-) diff --git a/services/platform-service/src/modules/changelog/repository.ts b/services/platform-service/src/modules/changelog/repository.ts index f4066242..73a9c640 100644 --- a/services/platform-service/src/modules/changelog/repository.ts +++ b/services/platform-service/src/modules/changelog/repository.ts @@ -3,6 +3,7 @@ */ import { getRegisteredContainer } from '@bytelyst/cosmos'; +import crypto from 'node:crypto'; import type { ChangelogEntryDoc, CreateChangelogInput, UpdateChangelogInput } from './types.js'; function getContainer() { @@ -15,7 +16,7 @@ export async function createEntry( ): Promise { const now = new Date().toISOString(); const doc: ChangelogEntryDoc = { - id: `cl-${Date.now()}-${Math.random().toString(36).slice(2, 8)}`, + id: `cl_${crypto.randomUUID()}`, productId, version: input.version, title: input.title, diff --git a/services/platform-service/src/modules/experiments/repository.ts b/services/platform-service/src/modules/experiments/repository.ts index 770a0823..9c8b54cc 100644 --- a/services/platform-service/src/modules/experiments/repository.ts +++ b/services/platform-service/src/modules/experiments/repository.ts @@ -3,6 +3,7 @@ */ import { getRegisteredContainer } from '@bytelyst/cosmos'; +import crypto from 'node:crypto'; import type { ExperimentDoc, ExperimentAssignmentDoc, @@ -72,7 +73,7 @@ export async function createExperiment( ): Promise { const now = new Date().toISOString(); const doc: ExperimentDoc = { - id: `exp-${Date.now()}-${Math.random().toString(36).slice(2, 8)}`, + id: `exp_${crypto.randomUUID()}`, productId, key: input.key, name: input.name, diff --git a/services/platform-service/src/modules/feedback/repository.ts b/services/platform-service/src/modules/feedback/repository.ts index 5f1cbf1e..511da161 100644 --- a/services/platform-service/src/modules/feedback/repository.ts +++ b/services/platform-service/src/modules/feedback/repository.ts @@ -3,6 +3,7 @@ */ import { getRegisteredContainer } from '@bytelyst/cosmos'; +import crypto from 'node:crypto'; import type { FeedbackDoc, CreateFeedbackInput, @@ -21,7 +22,7 @@ export async function createFeedback( ): Promise { const now = new Date().toISOString(); const doc: FeedbackDoc = { - id: `fb-${Date.now()}-${Math.random().toString(36).slice(2, 8)}`, + id: `fb_${crypto.randomUUID()}`, productId, userId, type: input.type, diff --git a/services/platform-service/src/modules/impersonation/repository.ts b/services/platform-service/src/modules/impersonation/repository.ts index 3a876b8d..3e565463 100644 --- a/services/platform-service/src/modules/impersonation/repository.ts +++ b/services/platform-service/src/modules/impersonation/repository.ts @@ -3,6 +3,7 @@ */ import { getRegisteredContainer } from '@bytelyst/cosmos'; +import crypto from 'node:crypto'; import type { ImpersonationSessionDoc, StartImpersonationInput } from './types.js'; function getContainer() { @@ -16,7 +17,7 @@ export async function startImpersonation( ): Promise { const now = new Date().toISOString(); const doc: ImpersonationSessionDoc = { - id: `imp-${Date.now()}-${Math.random().toString(36).slice(2, 8)}`, + id: `imp_${crypto.randomUUID()}`, productId, adminUserId, targetUserId: input.targetUserId, diff --git a/services/platform-service/src/modules/push-triggers/repository.ts b/services/platform-service/src/modules/push-triggers/repository.ts index 9bf00731..e444f3a8 100644 --- a/services/platform-service/src/modules/push-triggers/repository.ts +++ b/services/platform-service/src/modules/push-triggers/repository.ts @@ -3,6 +3,7 @@ */ import { getRegisteredContainer } from '@bytelyst/cosmos'; +import crypto from 'node:crypto'; import type { PushTriggerDoc, CreateTriggerInput, @@ -27,7 +28,7 @@ export async function createTrigger( const now = new Date().toISOString(); const doc: PushTriggerDoc = { - id: `pt-${Date.now()}-${Math.random().toString(36).slice(2, 8)}`, + id: `pt_${crypto.randomUUID()}`, productId, userId: input.userId, type: input.type,