Added playlist

This commit is contained in:
Torben Pi Jensen 2024-02-03 14:32:03 +01:00
parent 9345dd1fd0
commit 829e9c599b
4 changed files with 52 additions and 10 deletions

View File

@ -26,3 +26,13 @@ export class Playlist {
constructor(public title: string, public listener: string, public songs: Song[]) {
}
}
export class PlaylistDescription {
public title: string;
public listener: string;
constructor(title: string, listener: string) {
this.title = title;
this.listener = listener;
}
}

View File

@ -1,4 +1,4 @@
import {Song, PlayingSong, QueuedSong, Playlist} from "./dataTypes";
import {Song, PlayingSong, QueuedSong, Playlist, PlaylistDescription} from "./dataTypes";
export type StuenMessages =
ListenerLeft
@ -15,11 +15,13 @@ export type StuenMessages =
| ReorderSong
| SkipSong
| SongLikes
| CreatePlaylist
| ToggleSongLike
| CreatePlaylist
| AddSongToPlaylist
| RemoveSongFromPlaylist
| Playlists;
| Playlists
| GetPlaylist
| PlaylistSongs
export abstract class StuenMessage {
constructor(public type: string) {
@ -132,11 +134,22 @@ export class CreatePlaylist extends StuenMessage {
}
export class Playlists extends StuenMessage {
constructor(public playlists: Playlist[]) {
constructor(public playlists: PlaylistDescription[]) {
super('Playlists');
}
}
export class GetPlaylist extends StuenMessage {
constructor(public playlist: PlaylistDescription) {
super('GetPlaylist');
}
}
export class PlaylistSongs extends StuenMessage {
constructor(public playlist: Playlist) {
super('PlaylistSongs');
}
}
export class AddSongToPlaylist extends StuenMessage {
constructor(public song: Song, public playlist: string) {
super('AddSongToPlaylist');
@ -145,6 +158,6 @@ export class AddSongToPlaylist extends StuenMessage {
export class RemoveSongFromPlaylist extends StuenMessage {
constructor(public song: Song, public playlist: string) {
super('RemoveSongToPlaylist');
super('RemoveSongFromPlaylist');
}
}

View File

@ -1,6 +1,6 @@
{
"name": "stuen-common",
"version": "1.2.0",
"version": "1.2.1",
"main": "dist/common.js",
"type": "commonjs",
"types": "dist/common.d.ts",

View File

@ -1,12 +1,27 @@
import {
AddSongToPlaylist,
ChatMessage, CreatePlaylist, CurrentQueue, CurrentSong,
ChatMessage,
CreatePlaylist,
CurrentQueue,
CurrentSong,
GetPlaylist,
Join,
ListenerJoined,
ListenerLeft,
ListenerList, Playlists, QueueSong, RemoveSongFromPlaylist, ReorderSong, SearchSong, SearchSongResult,
SendChatMessage, SkipSong, SongLikes,
StuenMessage, ToggleSongLike, UnqueueSong
ListenerList,
Playlists,
PlaylistSongs,
QueueSong,
RemoveSongFromPlaylist,
ReorderSong,
SearchSong,
SearchSongResult,
SendChatMessage,
SkipSong,
SongLikes,
StuenMessage,
ToggleSongLike,
UnqueueSong
} from "./messageTypes";
export default function parseMessage(message: string): StuenMessage | null {
@ -48,6 +63,10 @@ export default function parseMessage(message: string): StuenMessage | null {
return new SongLikes(data.listeners);
case 'Playlists':
return new Playlists(data.playlists);
case 'GetPlaylist':
return new GetPlaylist(data.playlist);
case 'PlaylistSongs':
return new PlaylistSongs(data.playlist);
case 'CreatePlaylist':
return new CreatePlaylist(data.title);
case 'AddSongToPlaylist':