From e52358c62005930d2074a134e408699d5b40a57c Mon Sep 17 00:00:00 2001 From: Torben Pi Jensen Date: Mon, 4 Dec 2023 20:44:18 +0100 Subject: [PATCH] add like --- dist/messageTypes.d.ts | 7 +++++++ dist/messageTypes.js | 20 +++++++++++++++++++- dist/parseMessage.js | 4 ++++ messageTypes.ts | 11 +++++++++++ parseMessage.ts | 8 ++++++-- 5 files changed, 47 insertions(+), 3 deletions(-) diff --git a/dist/messageTypes.d.ts b/dist/messageTypes.d.ts index 6a8aa96..e170465 100644 --- a/dist/messageTypes.d.ts +++ b/dist/messageTypes.d.ts @@ -62,3 +62,10 @@ export declare class ReorderSong extends StuenMessage { export declare class SkipSong extends StuenMessage { constructor(); } +export declare class ToggleSongLike extends StuenMessage { + constructor(); +} +export declare class SongLikes extends StuenMessage { + listeners: string[]; + constructor(listeners: string[]); +} diff --git a/dist/messageTypes.js b/dist/messageTypes.js index f8ffd06..65d9835 100644 --- a/dist/messageTypes.js +++ b/dist/messageTypes.js @@ -15,7 +15,7 @@ var __extends = (this && this.__extends) || (function () { }; })(); exports.__esModule = true; -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.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; @@ -165,3 +165,21 @@ var SkipSong = /** @class */ (function (_super) { return SkipSong; }(StuenMessage)); exports.SkipSong = SkipSong; +var ToggleSongLike = /** @class */ (function (_super) { + __extends(ToggleSongLike, _super); + function ToggleSongLike() { + return _super.call(this, 'ToggleSongLike') || this; + } + return ToggleSongLike; +}(StuenMessage)); +exports.ToggleSongLike = ToggleSongLike; +var SongLikes = /** @class */ (function (_super) { + __extends(SongLikes, _super); + function SongLikes(listeners) { + var _this = _super.call(this, 'SongLikeChanged') || this; + _this.listeners = listeners; + return _this; + } + return SongLikes; +}(StuenMessage)); +exports.SongLikes = SongLikes; diff --git a/dist/parseMessage.js b/dist/parseMessage.js index f522b7c..539ee15 100644 --- a/dist/parseMessage.js +++ b/dist/parseMessage.js @@ -33,6 +33,10 @@ function parseMessage(message) { return new messageTypes_1.ReorderSong(data.positionToMove, data.placePosition); case 'SkipSong': return new messageTypes_1.SkipSong(); + case 'ToggleSongLike': + return new messageTypes_1.ToggleSongLike(); + case 'SongLikes': + return new messageTypes_1.SongLikes(data.listeners); default: console.error('Unknown message type:', data.type); return null; diff --git a/messageTypes.ts b/messageTypes.ts index b4db5f3..851f579 100644 --- a/messageTypes.ts +++ b/messageTypes.ts @@ -107,3 +107,14 @@ export class SkipSong extends StuenMessage { } } +export class ToggleSongLike extends StuenMessage { + constructor() { + super('ToggleSongLike'); + } +} + +export class SongLikes extends StuenMessage { + constructor(public listeners: string[]) { + super('SongLikeChanged'); + } +} diff --git a/parseMessage.ts b/parseMessage.ts index 1292208..bd2a12a 100644 --- a/parseMessage.ts +++ b/parseMessage.ts @@ -4,8 +4,8 @@ import { ListenerJoined, ListenerLeft, ListenerList, QueueSong, ReorderSong, SearchSong, SearchSongResult, - SendChatMessage, SkipSong, - StuenMessage, UnqueueSong + SendChatMessage, SkipSong, SongLikes, + StuenMessage, ToggleSongLike, UnqueueSong } from "./messageTypes"; export default function parseMessage(message: string): StuenMessage | null { @@ -41,6 +41,10 @@ export default function parseMessage(message: string): StuenMessage | null { return new ReorderSong(data.positionToMove, data.placePosition); case 'SkipSong': return new SkipSong(); + case 'ToggleSongLike': + return new ToggleSongLike(); + case 'SongLikes': + return new SongLikes(data.listeners); default: console.error('Unknown message type:', data.type); return null;