27 lines
773 B
TypeScript
27 lines
773 B
TypeScript
import { RoomServiceClient } from 'livekit-server-sdk';
|
|
|
|
export function getRoomClient(): RoomServiceClient {
|
|
checkKeys();
|
|
return new RoomServiceClient(getLiveKitURL());
|
|
}
|
|
|
|
export function getLiveKitURL(region?: string | string[]): string {
|
|
let targetKey = 'LIVEKIT_URL';
|
|
if (region && !Array.isArray(region)) {
|
|
targetKey = `LIVEKIT_URL_${region}`.toUpperCase();
|
|
}
|
|
const url = process.env[targetKey];
|
|
if (!url) {
|
|
throw new Error(`${targetKey} is not defined`);
|
|
}
|
|
return url;
|
|
}
|
|
|
|
function checkKeys() {
|
|
if (typeof process.env.LIVEKIT_API_KEY === 'undefined') {
|
|
throw new Error('LIVEKIT_API_KEY is not defined');
|
|
}
|
|
if (typeof process.env.LIVEKIT_API_SECRET === 'undefined') {
|
|
throw new Error('LIVEKIT_API_SECRET is not defined');
|
|
}
|
|
}
|