New web/src/api/languages.ts module (getLanguages) plus channels.ts additions (getMusicVideoCreditsTemplates, getChannelStreamSelectors, createChannel) for the channel-editor gaps in #212. Each has URL-building tests.
21 lines
563 B
TypeScript
21 lines
563 B
TypeScript
import { ApiError, request } from './client';
|
|
import type { components } from './generated/v1';
|
|
|
|
export type LanguageCode = components['schemas']['LanguageCodeResponseModel'];
|
|
|
|
export function getLanguages(): Promise<LanguageCode[]> {
|
|
return request<LanguageCode[]>('/api/languages');
|
|
}
|
|
|
|
export function messageFromLanguagesError(error: unknown, fallback = 'Unable to load languages'): string {
|
|
if (error instanceof ApiError) {
|
|
return error.detail ?? error.message;
|
|
}
|
|
|
|
if (error instanceof Error) {
|
|
return error.message;
|
|
}
|
|
|
|
return fallback;
|
|
}
|