diff --git a/mobile/src/api/auth.ts b/mobile/src/api/auth.ts index 54a829b..40edca3 100644 --- a/mobile/src/api/auth.ts +++ b/mobile/src/api/auth.ts @@ -1,6 +1,6 @@ import { createAuthClient } from '@bytelyst/auth-client'; import type { TokenStorage } from '@bytelyst/auth-client'; -import { API_CONFIG } from './config'; +import { API_CONFIG, PRODUCT_ID } from './config'; import { mmkvStorage } from '../store/mmkv-storage'; const tokenStorage: TokenStorage = { @@ -17,7 +17,7 @@ export function getAuthClient() { baseUrl: API_CONFIG.platformBaseUrl, productId: API_CONFIG.productId, storage: tokenStorage, - storagePrefix: 'bytelyst-notes', + storagePrefix: PRODUCT_ID, timeoutMs: API_CONFIG.timeoutMs, }); } diff --git a/mobile/src/api/config.ts b/mobile/src/api/config.ts index 23e05d9..8294cc7 100644 --- a/mobile/src/api/config.ts +++ b/mobile/src/api/config.ts @@ -1,6 +1,11 @@ +import productIdentity from '../../../shared/product.json'; + +export const PRODUCT_ID = productIdentity.productId; +export const PRODUCT_NAME = productIdentity.displayName; + export const API_CONFIG = { - productId: 'bytelyst-notes', - platformBaseUrl: 'http://localhost:4003/api', - productBaseUrl: 'http://localhost:4016/api', + productId: PRODUCT_ID, + platformBaseUrl: process.env.EXPO_PUBLIC_PLATFORM_SERVICE_URL ?? 'http://localhost:4003/api', + productBaseUrl: process.env.EXPO_PUBLIC_NOTES_API_URL ?? 'http://localhost:4016/api', timeoutMs: 15000, } as const; diff --git a/mobile/src/lib/offline-queue.ts b/mobile/src/lib/offline-queue.ts index adf5660..0daebc3 100644 --- a/mobile/src/lib/offline-queue.ts +++ b/mobile/src/lib/offline-queue.ts @@ -1,11 +1,12 @@ import { createOfflineQueue } from '@bytelyst/offline-queue'; +import { PRODUCT_ID } from '../api/config'; import { mmkvStorage } from '../store/mmkv-storage'; export const OFFLINE_QUEUE_MAX_RETRIES = 5; export const OFFLINE_QUEUE_MAX_SIZE = 50; export const noteOfflineQueue = createOfflineQueue({ - storageKey: 'bytelyst-notes-offline-queue', + storageKey: `${PRODUCT_ID}-offline-queue`, storage: { getItem: (key: string) => mmkvStorage.getItem(key), setItem: (key: string, value: string) => mmkvStorage.setItem(key, value), diff --git a/mobile/src/store/mmkv-storage.ts b/mobile/src/store/mmkv-storage.ts index a5bc19f..645d066 100644 --- a/mobile/src/store/mmkv-storage.ts +++ b/mobile/src/store/mmkv-storage.ts @@ -1,10 +1,11 @@ import { MMKV } from 'react-native-mmkv'; +import { PRODUCT_ID } from '../api/config'; let storage: MMKV | null = null; function getStorage() { if (!storage) { - storage = new MMKV({ id: 'bytelyst-agentic-notes-mobile' }); + storage = new MMKV({ id: `${PRODUCT_ID}-mobile` }); } return storage; diff --git a/web/src/lib/product-config.ts b/web/src/lib/product-config.ts index e3cbb3d..2fdc18a 100644 --- a/web/src/lib/product-config.ts +++ b/web/src/lib/product-config.ts @@ -1,5 +1,7 @@ -export const PRODUCT_NAME = process.env.NEXT_PUBLIC_PRODUCT_NAME ?? "ByteLyst Agentic Notes"; -export const PRODUCT_ID = process.env.NEXT_PUBLIC_PRODUCT_ID ?? "agentic-notes"; +import productIdentity from "../../../shared/product.json"; + +export const PRODUCT_NAME = process.env.NEXT_PUBLIC_PRODUCT_NAME ?? productIdentity.displayName; +export const PRODUCT_ID = process.env.NEXT_PUBLIC_PRODUCT_ID ?? productIdentity.productId; export const PLATFORM_SERVICE_URL = process.env.NEXT_PUBLIC_PLATFORM_SERVICE_URL ?? "http://localhost:4003/api"; export const NOTES_API_URL = process.env.NEXT_PUBLIC_NOTES_API_URL ?? "http://localhost:4016/api";