grafana/public/app/features/playlist/usePlaylist.tsx
Kristin Laemmert a33a023629
backend: add PlaylistUIDs to Playlist; remove playlist IDs from API (#49609)
* backend/api: refactor PlaylistId to PlaylistUid
* Add org_id to Get and Update playlist functions
Fix migration - no longer pad the uid; fix mysql syntax

The relevant tests are passing using postgres, mysql and the default sqllite backends, but there are a number of other failing tests when using postgres and myself so I'm not entirely confident with those results.

* fix bad query in GetPlaylistItem and add a test that would have caught the mistake in the first place. Reverted the playlist_uid column addition in playlist_item; it became unnecessary after this PR.

Added default value to the new UID column based on PR feedback.

* break this PRs migration into its own function

* Playlists: Update UI to use the updated API

Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
2022-06-14 15:32:52 -04:00

25 lines
654 B
TypeScript

import { useEffect, useState } from 'react';
import { getPlaylist } from './api';
import { Playlist } from './types';
export function usePlaylist(playlistUid?: string) {
const [playlist, setPlaylist] = useState<Playlist>({ items: [], interval: '5m', name: '', uid: '' });
const [loading, setLoading] = useState<boolean>(true);
useEffect(() => {
const initPlaylist = async () => {
if (!playlistUid) {
setLoading(false);
return;
}
const list = await getPlaylist(playlistUid);
setPlaylist(list);
setLoading(false);
};
initPlaylist();
}, [playlistUid]);
return { playlist, loading };
}