From 993501f0492994cc0a8bf0e2754bb2f7c9195c2b Mon Sep 17 00:00:00 2001 From: Torben Pi Jensen Date: Sat, 3 Feb 2024 17:06:07 +0100 Subject: [PATCH] Added tags --- dataTypes.ts | 2 +- dist/dataTypes.d.ts | 3 ++- dist/dataTypes.js | 3 ++- dist/messageTypes.d.ts | 7 ++++++- dist/messageTypes.js | 13 ++++++++++++- dist/parseMessage.js | 2 ++ messageTypes.ts | 7 +++++++ package.json | 2 +- parseMessage.ts | 4 +++- 9 files changed, 36 insertions(+), 7 deletions(-) diff --git a/dataTypes.ts b/dataTypes.ts index f437e48..b0ef858 100644 --- a/dataTypes.ts +++ b/dataTypes.ts @@ -17,7 +17,7 @@ export class QueuedSong extends Song { } export class PlayingSong extends QueuedSong { - constructor(type: SongType, title: string, songId: string, image: string, listener: string, public length: number, public position: number) { + constructor(type: SongType, title: string, songId: string, image: string, listener: string, public length: number, public position: number, public tags: string[]) { super(type, title, songId, image, listener); } } diff --git a/dist/dataTypes.d.ts b/dist/dataTypes.d.ts index fcd545e..7489189 100644 --- a/dist/dataTypes.d.ts +++ b/dist/dataTypes.d.ts @@ -16,7 +16,8 @@ export declare class QueuedSong extends Song { export declare class PlayingSong extends QueuedSong { length: number; position: number; - constructor(type: SongType, title: string, songId: string, image: string, listener: string, length: number, position: number); + tags: string[]; + constructor(type: SongType, title: string, songId: string, image: string, listener: string, length: number, position: number, tags: string[]); } export declare class Playlist { title: string; diff --git a/dist/dataTypes.js b/dist/dataTypes.js index 67e29aa..3e4d978 100644 --- a/dist/dataTypes.js +++ b/dist/dataTypes.js @@ -43,10 +43,11 @@ var QueuedSong = /** @class */ (function (_super) { exports.QueuedSong = QueuedSong; var PlayingSong = /** @class */ (function (_super) { __extends(PlayingSong, _super); - function PlayingSong(type, title, songId, image, listener, length, position) { + function PlayingSong(type, title, songId, image, listener, length, position, tags) { var _this = _super.call(this, type, title, songId, image, listener) || this; _this.length = length; _this.position = position; + _this.tags = tags; return _this; } return PlayingSong; diff --git a/dist/messageTypes.d.ts b/dist/messageTypes.d.ts index a145fc1..70622fb 100644 --- a/dist/messageTypes.d.ts +++ b/dist/messageTypes.d.ts @@ -1,5 +1,5 @@ import { Song, PlayingSong, QueuedSong, Playlist, PlaylistDescription } from "./dataTypes"; -export declare type StuenMessages = ListenerLeft | ListenerList | ListenerJoined | SendChatMessage | SearchSong | SearchSongResult | Join | QueueSong | CurrentQueue | CurrentSong | UnqueueSong | ReorderSong | SkipSong | SongLikes | ToggleSongLike | CreatePlaylist | AddSongToPlaylist | RemoveSongFromPlaylist | Playlists | GetPlaylist | PlaylistSongs; +export declare type StuenMessages = ListenerLeft | ListenerList | ListenerJoined | SendChatMessage | SearchSong | SearchSongResult | Join | QueueSong | CurrentQueue | CurrentSong | UnqueueSong | ReorderSong | SkipSong | SongLikes | ToggleSongLike | CreatePlaylist | AddSongToPlaylist | RemoveSongFromPlaylist | Playlists | GetPlaylist | PlaylistSongs | ToggleTag; export declare abstract class StuenMessage { type: string; constructor(type: string); @@ -95,3 +95,8 @@ export declare class RemoveSongFromPlaylist extends StuenMessage { playlist: string; constructor(song: Song, playlist: string); } +export declare class ToggleTag extends StuenMessage { + song: Song; + tag: string; + constructor(song: Song, tag: string); +} diff --git a/dist/messageTypes.js b/dist/messageTypes.js index 97bf4db..62ddf8f 100644 --- a/dist/messageTypes.js +++ b/dist/messageTypes.js @@ -15,7 +15,7 @@ var __extends = (this && this.__extends) || (function () { }; })(); exports.__esModule = true; -exports.RemoveSongFromPlaylist = exports.AddSongToPlaylist = exports.PlaylistSongs = exports.GetPlaylist = exports.Playlists = exports.CreatePlaylist = exports.SongLikes = exports.ToggleSongLike = exports.SkipSong = exports.ReorderSong = exports.UnqueueSong = exports.CurrentSong = exports.CurrentQueue = exports.QueueSong = exports.SearchSongResult = exports.SearchSong = exports.ChatMessage = exports.SendChatMessage = exports.ListenerList = exports.ListenerLeft = exports.ListenerJoined = exports.Join = exports.StuenMessage = void 0; +exports.ToggleTag = exports.RemoveSongFromPlaylist = exports.AddSongToPlaylist = exports.PlaylistSongs = exports.GetPlaylist = exports.Playlists = exports.CreatePlaylist = exports.SongLikes = exports.ToggleSongLike = exports.SkipSong = exports.ReorderSong = exports.UnqueueSong = exports.CurrentSong = exports.CurrentQueue = exports.QueueSong = exports.SearchSongResult = exports.SearchSong = exports.ChatMessage = exports.SendChatMessage = exports.ListenerList = exports.ListenerLeft = exports.ListenerJoined = exports.Join = exports.StuenMessage = void 0; var StuenMessage = /** @class */ (function () { function StuenMessage(type) { this.type = type; @@ -245,3 +245,14 @@ var RemoveSongFromPlaylist = /** @class */ (function (_super) { return RemoveSongFromPlaylist; }(StuenMessage)); exports.RemoveSongFromPlaylist = RemoveSongFromPlaylist; +var ToggleTag = /** @class */ (function (_super) { + __extends(ToggleTag, _super); + function ToggleTag(song, tag) { + var _this = _super.call(this, 'ToggleTag') || this; + _this.song = song; + _this.tag = tag; + return _this; + } + return ToggleTag; +}(StuenMessage)); +exports.ToggleTag = ToggleTag; diff --git a/dist/parseMessage.js b/dist/parseMessage.js index 299c583..11d9f08 100644 --- a/dist/parseMessage.js +++ b/dist/parseMessage.js @@ -49,6 +49,8 @@ function parseMessage(message) { return new messageTypes_1.AddSongToPlaylist(data.song, data.playlist); case 'RemoveSongFromPlaylist': return new messageTypes_1.RemoveSongFromPlaylist(data.song, data.playlist); + case 'ToggleTag': + return new messageTypes_1.ToggleTag(data.song, data.tag); default: console.error('Unknown message type:', data.type); return null; diff --git a/messageTypes.ts b/messageTypes.ts index 8c696f5..7472eac 100644 --- a/messageTypes.ts +++ b/messageTypes.ts @@ -22,6 +22,7 @@ export type StuenMessages = | Playlists | GetPlaylist | PlaylistSongs + | ToggleTag export abstract class StuenMessage { constructor(public type: string) { @@ -161,3 +162,9 @@ export class RemoveSongFromPlaylist extends StuenMessage { super('RemoveSongFromPlaylist'); } } + +export class ToggleTag extends StuenMessage { + constructor(public song: Song, public tag: string) { + super('ToggleTag'); + } +} diff --git a/package.json b/package.json index 405b875..437dbb4 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "stuen-common", - "version": "1.2.6", + "version": "1.2.7", "main": "dist/common.js", "type": "commonjs", "types": "dist/common.d.ts", diff --git a/parseMessage.ts b/parseMessage.ts index c7bbe3a..be5b0be 100644 --- a/parseMessage.ts +++ b/parseMessage.ts @@ -20,7 +20,7 @@ import { SkipSong, SongLikes, StuenMessage, - ToggleSongLike, + ToggleSongLike, ToggleTag, UnqueueSong } from "./messageTypes"; @@ -73,6 +73,8 @@ export default function parseMessage(message: string): StuenMessage | null { return new AddSongToPlaylist(data.song, data.playlist); case 'RemoveSongFromPlaylist': return new RemoveSongFromPlaylist(data.song, data.playlist); + case 'ToggleTag': + return new ToggleTag(data.song, data.tag); default: console.error('Unknown message type:', data.type); return null;