diff --git a/resources/js/composables/content/models/playlist.ts b/resources/js/composables/content/models/playlist.ts index 67d4003..7c22d1c 100644 --- a/resources/js/composables/content/models/playlist.ts +++ b/resources/js/composables/content/models/playlist.ts @@ -1,4 +1,6 @@ import {VTextarea, VTextField} from "vuetify/components"; +import axios, {type AxiosResponse} from "axios"; +import type {Show} from "@models/show/show.ts"; export function playlist(item) { const visibleFields = { @@ -34,4 +36,25 @@ export function playlist(item) { // console.log(fields) return fields } +} + +// TODO playlist interface +export const getPlaylist = async (options: { + id?: number | null; + scheduled?: number | null; + withDjs?: boolean | null; + isScheduled?: boolean | null; + page?: Number | null; + per_page?: Number | null; + all?: string | null; +}): Promise => { + const filteredParams = Object.fromEntries( + Object.entries(options).filter(([_, value]) => value !== undefined && value !== null) + ); + return await axios.get(`/playlist`, {params: filteredParams}) + .then((response: AxiosResponse) => { + return response.data.data + }).catch((error: Error) => { + console.log("Error: " + error); + }) } \ No newline at end of file